{"openapi":"3.1.0","info":{"title":"Refcat Developer API","version":"1.0.0","description":"Read and search the existing Refcat catalog with your existing refcat_sk_ API key. No creation, editing, deletion, generation or export jobs. Pagination is bounded. Each plan has a daily limit of catalog items returned (screens, flows, flow steps, apps, emails), shared with MCP. Media URLs in responses expire 24 to 48 hours after issue; fetch them again through the API instead of storing them."},"servers":[{"url":"https://api.refcat.app/api/v1"}],"paths":{"/categories":{"get":{"operationId":"listCategories","summary":"Category keys for one platform.","tags":["categories"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"platform","in":"query","required":false,"schema":{"type":"string","enum":["ios","android","web","email","game","reference","store","ad"]}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/Categories"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":[{"key":"onboarding","label":"Onboarding","intent":"onboarding"}],"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/facets":{"get":{"operationId":"listFacets","summary":"Available filters and their flow counts. Use these values when searching.","tags":["facets"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"default":"","type":"string","maxLength":500}},{"name":"platform","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["ios","android","web","email","game","reference","store","ad"]}},"style":"form","explode":false},{"name":"flowIntents","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"uiComponents","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"screenPatterns","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"pageType","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"appId","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/Facets"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"platform":[{"value":"ios","count":100,"requiresPro":false}],"flowIntents":[{"value":"onboarding","count":20}],"uiComponents":[],"pageType":[],"screenPatterns":[]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/apps":{"get":{"operationId":"listApps","summary":"Browse apps by category and platform.","tags":["apps"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"platform","in":"query","required":false,"schema":{"type":"string","enum":["ios","android","web","email","game","reference","store","ad"]}},{"name":"category","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":120}},{"name":"limit","in":"query","required":false,"schema":{"default":24,"type":"integer","minimum":1,"maximum":48}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"description":"Number of results to skip, up to 200.","type":"integer","minimum":0,"maximum":200}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/AppList"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"total":1,"offset":0,"apps":[{"appId":"app-id","slug":"example","name":"Example","platform":"ios","screenCount":14,"flows":2,"logoUrl":"https://cdn.refcat.app/m/v1.<opaque>.png","thumbUrl":"https://cdn.refcat.app/m/v1.<opaque>.webp"}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/apps/search":{"get":{"operationId":"searchApps","summary":"Find apps by product name, website or theme.","tags":["apps"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"platform","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["ios","android","web","email","game","reference","store","ad"]}},"style":"form","explode":false},{"name":"limit","in":"query","required":false,"schema":{"default":12,"type":"integer","minimum":1,"maximum":48}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/AppResults"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"apps":[{"appId":"app-id","name":"Example","platform":"ios"}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/apps/{appId}":{"get":{"operationId":"getApp","summary":"Read an app by ID or slug.","tags":["apps"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"appId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/App"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"appId":"app-id","name":"Example","platform":"ios","screenCount":14,"flows":2},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/apps/{appId}/flows":{"get":{"operationId":"getAppFlows","summary":"Ordered flow metadata for one app.","tags":["apps"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"appId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."},{"name":"limit","in":"query","required":false,"schema":{"default":40,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"description":"Number of results to skip, up to 200.","type":"integer","minimum":0,"maximum":200}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/AppFlows"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"app":{"appId":"app-id","name":"Example","platform":"ios"},"total":1,"offset":0,"flows":[{"flowId":"flow-id","name":"Onboarding","intents":["onboarding"],"screenCount":14}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/apps/{appId}/similar":{"get":{"operationId":"similarApps","summary":"Apps with similar flow themes.","tags":["apps"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"appId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/AppResults"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"apps":[{"appId":"similar-id","name":"Similar app","platform":"ios"}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/flows/search":{"get":{"operationId":"searchFlows","summary":"Search ordered screen sequences by app, intent or description.","tags":["flows"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"default":"","type":"string","maxLength":500}},{"name":"platform","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["ios","android","web","email","game","reference","store","ad"]}},"style":"form","explode":false},{"name":"flowIntents","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"limit","in":"query","required":false,"schema":{"default":8,"type":"integer","minimum":1,"maximum":24}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"description":"Number of results to skip, up to 200.","type":"integer","minimum":0,"maximum":200}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/FlowResults"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"offset":0,"flows":[{"flowId":"flow-id","app":"Example","name":"Onboarding","screenCount":14,"platform":"ios"}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/flows/{flowId}":{"get":{"operationId":"getFlow","summary":"Read ordered steps. include=elements,connections adds larger detail.","tags":["flows"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"flowId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."},{"name":"include","in":"query","required":false,"schema":{"default":[],"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["elements","connections"]}},"style":"form","explode":false}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/Flow"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"flowId":"flow-id","app":"Example","name":"Onboarding","screenCount":1,"lockedSteps":0,"hasHtml":false,"steps":[{"screenDocId":"screen-id","order":1,"pageType":"Welcome","imageUrl":"https://cdn.refcat.app/m/v1.<opaque>.webp"}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/flows/{flowId}/history":{"get":{"operationId":"getFlowHistory","summary":"Read earlier captures and their previews.","tags":["flows"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"flowId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/FlowHistory"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"captures":[]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/screens/search":{"get":{"operationId":"searchScreens","summary":"Search screens by description, app name or website. No image generation.","tags":["screens"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":500}},{"name":"platform","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["ios","android","web","email","game","reference","store","ad"]}},"style":"form","explode":false},{"name":"flowIntents","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"uiComponents","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"screenPatterns","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"pageType","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"appId","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"limit","in":"query","required":false,"schema":{"default":12,"type":"integer","minimum":1,"maximum":48}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"description":"Number of results to skip, up to 200.","type":"integer","minimum":0,"maximum":200}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/ScreenResults"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"offset":0,"queryIntent":"semantic","appliedFilters":{},"screens":[{"screenDocId":"screen-id","flowDocId":"flow-id","app":"Example","platform":"ios","imageUrl":"https://cdn.refcat.app/m/v1.<opaque>.webp","score":0.9}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/screens/{screenDocId}":{"get":{"operationId":"getScreen","summary":"Read screen metadata and its existing image URL. Locked screens have imageUrl=null.","tags":["screens"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"screenDocId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."},{"name":"includeElements","in":"query","required":false,"schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/Screen"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"screenDocId":"screen-id","flowDocId":"flow-id","app":"Example","platform":"ios","locked":false,"imageUrl":"https://cdn.refcat.app/m/v1.<opaque>.webp","dimensions":{"width":390,"height":844}},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/screens/{screenDocId}/similar":{"get":{"operationId":"similarScreens","summary":"Existing catalog screens visually similar to this screen.","tags":["screens"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"screenDocId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."},{"name":"limit","in":"query","required":false,"schema":{"default":12,"type":"integer","minimum":1,"maximum":48}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/ScreenResults"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"screens":[]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/emails/search":{"get":{"operationId":"searchEmails","summary":"Search existing product emails. Requires a paid plan.","tags":["emails"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"default":"","type":"string","maxLength":500}},{"name":"flowIntents","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"appId","in":"query","required":false,"schema":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"style":"form","explode":false},{"name":"limit","in":"query","required":false,"schema":{"default":8,"type":"integer","minimum":1,"maximum":24}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"description":"Number of results to skip, up to 200.","type":"integer","minimum":0,"maximum":200}}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/EmailResults"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"offset":0,"emails":[{"emailId":"email-id","brand":"Example","subject":"Welcome","hasHtml":true,"images":[]}]},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}},"/emails/{emailId}/html":{"get":{"operationId":"getEmailHtml","summary":"Read existing email HTML as a JSON string. Paid plan or weekly free access required.","tags":["emails"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024},"description":"Use the ID returned by the API; URL-encode it."}],"responses":{"200":{"description":"Existing catalog data. No content is created.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["data","requestId"],"properties":{"data":{"$ref":"#/components/schemas/EmailHtml"},"requestId":{"type":"string","format":"uuid"}}},"example":{"data":{"emailId":"email-id","bytes":42,"html":"<html>...</html>"},"requestId":"00000000-0000-4000-8000-000000000001"}}}},"400":{"description":"Invalid or unsupported query parameters.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"401":{"description":"Missing, invalid, expired or revoked API key.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"402":{"description":"The account plan does not include this content.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"403":{"description":"The key does not grant catalog:read.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"404":{"description":"Resource not found.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"405":{"description":"Method not allowed; this API only supports GET.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"429":{"description":"rate_limited: per-minute budget exhausted. daily_quota_exceeded: daily catalog item limit reached (resets 00:00 UTC). Retry after the number of seconds in Retry-After.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}},"Retry-After":{"schema":{"type":"integer"},"description":"Conservative wait in seconds."}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}},"503":{"description":"A required service or read-only operation is unavailable.","headers":{"X-Request-Id":{"schema":{"type":"string","format":"uuid"},"description":"Include this ID when reporting an issue."},"X-RateLimit-Limit":{"schema":{"type":"string"},"description":"Requests allowed per 60-second window."},"X-RateLimit-Window":{"schema":{"type":"integer","const":60}}},"content":{"application/json":{"schema":{"type":"object","required":["error","requestId"],"properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object"}}}}}}}}}}}}},"components":{"schemas":{"App":{"type":"object","properties":{"appId":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"category":{"type":"string"},"platform":{"type":"string"},"logoUrl":{"type":"string"},"thumbUrl":{"type":"string"},"screenCount":{"type":"integer","minimum":0},"flows":{"type":"integer","minimum":0}},"required":["appId","name","platform"]},"AppList":{"type":"object","properties":{"total":{"type":"integer","minimum":0},"offset":{"type":"integer","minimum":0},"apps":{"type":"array","items":{"$ref":"#/components/schemas/App"}}},"required":["total","offset","apps"]},"AppResults":{"type":"object","properties":{"apps":{"type":"array","items":{"$ref":"#/components/schemas/App"}}},"required":["apps"]},"Category":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"intent":{"type":["string","null"]}},"required":["key","label","intent"]},"Categories":{"type":"array","items":{"$ref":"#/components/schemas/Category"}},"FacetValue":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0},"requiresPro":{"type":"boolean"}},"required":["value","count"]},"Facets":{"type":"object","properties":{"platform":{"type":"array","items":{"$ref":"#/components/schemas/FacetValue"}},"flowIntents":{"type":"array","items":{"$ref":"#/components/schemas/FacetValue"}},"uiComponents":{"type":"array","items":{"$ref":"#/components/schemas/FacetValue"}},"pageType":{"type":"array","items":{"$ref":"#/components/schemas/FacetValue"}},"screenPatterns":{"type":"array","items":{"$ref":"#/components/schemas/FacetValue"}}},"required":["platform","flowIntents","uiComponents","pageType","screenPatterns"]},"FlowSummary":{"type":"object","properties":{"flowId":{"type":"string"},"app":{"type":"string"},"appId":{"type":"string"},"name":{"type":"string"},"intents":{"type":"array","items":{"type":"string"}},"screenCount":{"type":"integer","minimum":0},"platform":{"type":"string"},"screenPatterns":{"type":"array","items":{"type":"string"}},"capturedAt":{"type":["string","null"]}},"required":["flowId","name","screenCount"]},"FlowResults":{"type":"object","properties":{"offset":{"type":"integer","minimum":0},"flows":{"type":"array","items":{"$ref":"#/components/schemas/FlowSummary"}}},"required":["offset","flows"]},"AppFlows":{"type":"object","properties":{"app":{"$ref":"#/components/schemas/App"},"total":{"type":"integer","minimum":0},"offset":{"type":"integer","minimum":0},"flows":{"type":"array","items":{"$ref":"#/components/schemas/FlowSummary"}}},"required":["app","total","offset","flows"]},"FlowStep":{"type":"object","properties":{"screenDocId":{"type":"string"},"order":{"type":"integer","minimum":0},"pageType":{"type":["string","null"]},"screenPatterns":{"type":"array","items":{"type":"string"}},"uiComponents":{"type":"array","items":{"type":"string"}},"keyTexts":{"type":"array","items":{"type":"string"}},"dimensions":{"type":"object","properties":{"width":{"type":"integer","minimum":0},"height":{"type":"integer","minimum":0}}},"imageUrl":{"type":"string"},"elements":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["screenDocId","order","imageUrl"]},"Flow":{"type":"object","properties":{"flowId":{"type":"string"},"app":{"type":"string"},"appId":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"intents":{"type":"array","items":{"type":"string"}},"capturedAt":{"type":["string","null"]},"screenCount":{"type":"integer","minimum":0},"lockedSteps":{"type":"integer","minimum":0},"hasHtml":{"type":"boolean"},"steps":{"type":"array","items":{"$ref":"#/components/schemas/FlowStep"}},"connections":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["flowId","name","steps","screenCount","lockedSteps","hasHtml"]},"FlowHistory":{"type":"object","properties":{"captures":{"type":"array","items":{"type":"object","properties":{"archivedAt":{"type":"string"},"capturedAt":{"type":["string","null"]},"screenCount":{"type":"integer","minimum":0},"previewScreens":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"screenUrl":{"type":"string"}},"required":["id","screenUrl"]}}},"required":["archivedAt","screenCount","previewScreens"]}}},"required":["captures"]},"ScreenSummary":{"type":"object","properties":{"screenDocId":{"type":"string"},"flowDocId":{"type":"string"},"app":{"type":"string"},"appId":{"type":"string"},"flow":{"type":"string"},"platform":{"type":"string"},"pageType":{"type":["string","null"]},"screenPatterns":{"type":"array","items":{"type":"string"}},"components":{"type":"array","items":{"type":"string"}},"keyTexts":{"type":"array","items":{"type":"string"}},"capturedAt":{"type":["string","null"]},"locked":{"type":"boolean"},"imageUrl":{"type":["string","null"]},"score":{"type":"number"}},"required":["screenDocId","flowDocId","app","platform","imageUrl"]},"ScreenResults":{"type":"object","properties":{"offset":{"type":"integer","minimum":0},"queryIntent":{"type":"string"},"appliedFilters":{"type":"object","additionalProperties":true},"screens":{"type":"array","items":{"$ref":"#/components/schemas/ScreenSummary"}}},"required":["screens"]},"Screen":{"type":"object","properties":{"screenDocId":{"type":"string"},"flowDocId":{"type":"string"},"app":{"type":"string"},"appId":{"type":"string"},"flow":{"type":"string"},"flowIntents":{"type":"array","items":{"type":"string"}},"platform":{"type":"string"},"order":{"type":"integer","minimum":0},"pageType":{"type":["string","null"]},"screenPatterns":{"type":"array","items":{"type":"string"}},"uiComponents":{"type":"array","items":{"type":"string"}},"keyTexts":{"type":"array","items":{"type":"string"}},"dimensions":{"type":"object","properties":{"width":{"type":"integer","minimum":0},"height":{"type":"integer","minimum":0}}},"capturedAt":{"type":["string","null"]},"locked":{"type":"boolean"},"lockedReason":{"type":"string"},"imageUrl":{"type":["string","null"]},"elements":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["screenDocId","flowDocId","locked","imageUrl"]},"Email":{"type":"object","properties":{"emailId":{"type":"string"},"brand":{"type":"string"},"appId":{"type":"string"},"subject":{"type":"string"},"intents":{"type":"array","items":{"type":"string"}},"capturedAt":{"type":["string","null"]},"images":{"type":"array","items":{"type":"object","properties":{"device":{"type":"string","enum":["desktop","mobile"]},"url":{"type":"string"}},"required":["device","url"]}},"hasHtml":{"type":"boolean"},"keyTexts":{"type":"array","items":{"type":"string"}}},"required":["emailId","brand","subject","images","hasHtml"]},"EmailResults":{"type":"object","properties":{"offset":{"type":"integer","minimum":0},"emails":{"type":"array","items":{"$ref":"#/components/schemas/Email"}}},"required":["offset","emails"]},"EmailHtml":{"type":"object","properties":{"emailId":{"type":"string"},"bytes":{"type":"integer","minimum":0},"html":{"type":"string"}},"required":["emailId","bytes","html"]}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"refcat_sk_ API key","description":"An active account API key with catalog:read. Browser cookies are not accepted."}}},"x-rate-limits":{"windowSeconds":60,"requestsPerMinute":{"free":120,"pro":600,"studio":1800},"itemsPerDay":{"free":2000,"pro":20000,"studio":60000}}}