{"openapi":"3.1.0","info":{"title":"LogoRouter API","version":"3.2.0","summary":"Company logos, brand colors, and company intelligence.","description":"Fetch company logos, generate clean fallbacks, resolve companies, extract brand colors, and enrich account records through one production-ready API. Basic 128px logo routes support anonymous demo usage. API keys unlock higher limits, custom sizes, brand colors, intelligence, batch workflows, and cache refresh.","contact":{"name":"LogoRouter Support","email":"support@leadmagic.io","url":"https://logorouter.com"}},"servers":[{"url":"https://api.logorouter.com","description":"Production API"},{"url":"https://img.logorouter.com","description":"Production image CDN"}],"tags":[{"name":"Status & Plans","description":"Health checks and public plan details."},{"name":"Logos","description":"Logo delivery, CDN routes, Clearbit migration, and refresh."},{"name":"Discovery","description":"Search, ticker, crypto, name, and ISIN lookup."},{"name":"Brand Data","description":"Colors, AI intelligence, description, metadata, and brand kit."},{"name":"Batch","description":"Paid batch logo and enrichment workflows."}],"paths":{"/health":{"get":{"tags":["Status & Plans"],"summary":"Health check","operationId":"getHealth","responses":{"200":{"description":"API health status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/billing/plans":{"get":{"tags":["Status & Plans"],"summary":"List public billing plans","operationId":"listBillingPlans","responses":{"200":{"description":"Public billing plans and entitlement metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPlansResponse"}}}}}}},"/api/{domain}":{"get":{"tags":["Logos"],"summary":"Fetch a company logo","description":"Returns a logo image for a domain. Anonymous demo access is available for basic 128px logos. Include an API key for higher limits, custom sizes, format transforms, and refresh.\n\n**Aliases:** `GET /v1/{domain}` and `GET /v1/logos/{domain}` behave the same as this route.\n\n**Embeds (customer-facing):** Prefer `https://img.logorouter.com/{domain}` in `<img>` tags with a publishable `?token=` — secret API keys belong on `api.logorouter.com` behind `Authorization: Bearer`.","operationId":"getLogoByDomain","security":[{},{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"},{"$ref":"#/components/parameters/Refresh"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"400":{"$ref":"#/components/responses/Problem"},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/{domain}":{"get":{"tags":["Logos"],"summary":"Fetch a logo from the image CDN","description":"Direct `img.logorouter.com/{domain}` logo delivery route.","operationId":"getImageCdnLogo","servers":[{"url":"https://img.logorouter.com","description":"Production image CDN"}],"security":[{},{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"400":{"$ref":"#/components/responses/Problem"},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/clearbit/logo/{domain}":{"get":{"tags":["Logos"],"summary":"Clearbit-compatible logo route","operationId":"getClearbitCompatibleLogo","parameters":[{"$ref":"#/components/parameters/DomainPath"},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"400":{"$ref":"#/components/responses/Problem"}}}},"/api/logo/{domain}/refresh":{"post":{"tags":["Logos"],"summary":"Refresh a cached logo","operationId":"refreshLogo","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Refresh status.","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshLogoResponse"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/logo/{domain}/cache":{"delete":{"tags":["Logos"],"summary":"Clear cached logo assets","description":"Clears cached logo assets for a domain so the next request re-checks upstream sources. Requires cache refresh access.","operationId":"clearLogoCache","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Cache clear result.","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClearLogoCacheResponse"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/search":{"get":{"tags":["Discovery"],"summary":"Search companies","operationId":"searchCompanies","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"example":"stripe"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":20,"default":10}}],"responses":{"200":{"description":"Company matches.","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}}}},"400":{"$ref":"#/components/responses/Problem"},"401":{"$ref":"#/components/responses/Problem"}}}},"/api/ticker/{symbol}":{"get":{"tags":["Discovery"],"summary":"Ticker lookup","operationId":"getLogoByTicker","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","example":"AAPL"}},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"302":{"description":"Redirects to `/api/{domain}` when a match is found."},"400":{"$ref":"#/components/responses/Problem"},"404":{"$ref":"#/components/responses/Problem"}}}},"/api/crypto/{symbol}":{"get":{"tags":["Discovery"],"summary":"Crypto symbol lookup","operationId":"getLogoByCrypto","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","example":"BTC"}},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"302":{"description":"Redirects to `/api/{domain}` when a match is found."},"400":{"$ref":"#/components/responses/Problem"},"404":{"$ref":"#/components/responses/Problem"}}}},"/api/name/{name}":{"get":{"tags":["Discovery"],"summary":"Company name lookup","operationId":"getLogoByName","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","example":"Stripe"}},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"302":{"description":"Redirects to `/api/{domain}` when a match is found."},"400":{"$ref":"#/components/responses/Problem"},"404":{"$ref":"#/components/responses/Problem"}}}},"/api/isin/{isin}":{"get":{"tags":["Discovery"],"summary":"ISIN lookup","operationId":"getLogoByIsin","parameters":[{"name":"isin","in":"path","required":true,"schema":{"type":"string","example":"US0378331005"}},{"$ref":"#/components/parameters/Size"},{"$ref":"#/components/parameters/Format"},{"$ref":"#/components/parameters/Retina"},{"$ref":"#/components/parameters/Theme"},{"$ref":"#/components/parameters/Fallback"},{"$ref":"#/components/parameters/Greyscale"}],"responses":{"200":{"$ref":"#/components/responses/LogoImage"},"302":{"description":"Redirects to `/api/{domain}` when a match is found."},"400":{"$ref":"#/components/responses/Problem"},"404":{"$ref":"#/components/responses/Problem"}}}},"/api/colors/{domain}":{"get":{"tags":["Brand Data"],"summary":"Brand colors","description":"Extracts primary, secondary, and palette colors.","operationId":"getBrandColors","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Brand colors","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandColorsResponse"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/intelligence/{domain}":{"get":{"tags":["Brand Data"],"summary":"Company intelligence","description":"Returns AI-generated company intelligence.","operationId":"getCompanyIntelligence","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Company intelligence","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyIntelligence"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/describe/{domain}":{"get":{"tags":["Brand Data"],"summary":"Describe domain","description":"Returns normalized company profile data.","operationId":"describeDomain","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Describe domain","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainDescription"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/meta/{domain}":{"get":{"tags":["Brand Data"],"summary":"Brand metadata","description":"Returns compact brand metadata.","operationId":"getBrandMetadata","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Brand metadata","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandMetadata"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/brand/{domain}":{"get":{"tags":["Brand Data"],"summary":"Brand kit","description":"Returns logo variants, metadata, colors, and usage snippets.","operationId":"getBrandKit","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]},{"ApiKeyQuery":[]}],"parameters":[{"$ref":"#/components/parameters/DomainPath"}],"responses":{"200":{"description":"Brand kit","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandKit"}}}},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"},"429":{"$ref":"#/components/responses/Problem"}}}},"/api/batch/logos":{"post":{"tags":["Batch"],"summary":"Batch logos","operationId":"batchLogos","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDomainsRequest"},"examples":{"default":{"value":{"domains":["stripe.com","github.com","vercel.com"]}}}}}},"responses":{"200":{"description":"Batch logos","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchLogoResponse"}}}},"400":{"$ref":"#/components/responses/Problem"},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"}}}},"/api/batch/describe":{"post":{"tags":["Batch"],"summary":"Batch describe","operationId":"batchDescribe","security":[{"ApiKeyHeader":[]},{"BearerApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDomainsRequest"},"examples":{"default":{"value":{"domains":["stripe.com","github.com","vercel.com"]}}}}}},"responses":{"200":{"description":"Batch describe","headers":{"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDescribeResponse"}}}},"400":{"$ref":"#/components/responses/Problem"},"401":{"$ref":"#/components/responses/Problem"},"403":{"$ref":"#/components/responses/Problem"}}}}},"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key"},"BearerApiKey":{"type":"http","scheme":"bearer","bearerFormat":"LogoRouter API key"},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"token"}},"parameters":{"DomainPath":{"name":"domain","in":"path","required":true,"schema":{"type":"string","example":"stripe.com"}},"Size":{"name":"size","in":"query","schema":{"type":"integer","minimum":16,"maximum":2048,"default":128}},"Format":{"name":"format","in":"query","schema":{"type":"string","enum":["png","webp","jpg","jpeg","svg"],"default":"png"}},"Retina":{"name":"retina","in":"query","schema":{"type":"boolean","default":false}},"Theme":{"name":"theme","in":"query","schema":{"type":"string","enum":["light","dark"],"default":"light"}},"Fallback":{"name":"fallback","in":"query","schema":{"type":"string","enum":["monogram","404","placeholder"],"default":"monogram"}},"Greyscale":{"name":"greyscale","in":"query","schema":{"type":"boolean","default":false}},"Refresh":{"name":"refresh","in":"query","schema":{"type":"boolean","default":false}}},"responses":{"LogoImage":{"description":"Logo image or generated SVG fallback.","headers":{"X-Cache":{"description":"HIT or MISS.","schema":{"type":"string"}},"X-Source":{"description":"Resolved logo source or cache layer.","schema":{"type":"string"}},"X-Quality":{"description":"Logo quality classification.","schema":{"type":"string"}},"X-Logo-Width":{"description":"Detected source width.","schema":{"type":"integer"}},"X-Logo-Height":{"description":"Detected source height.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Maximum requests allowed in the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current window resets.","schema":{"type":"integer"}},"X-RateLimit-Policy":{"description":"Rate limit policy string.","schema":{"type":"string"}}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/svg+xml":{"schema":{"type":"string"}}}},"Problem":{"description":"RFC 7807 problem details error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"schemas":{"HealthResponse":{"type":"object","properties":{"status":{"type":"string","example":"healthy"},"timestamp":{"type":"string","format":"date-time"},"version":{"type":"string"},"environment":{"type":"string"},"endpoints":{"type":"object","additionalProperties":{"type":"string"}}}},"BillingPlansResponse":{"type":"object","properties":{"provider":{"type":"string","example":"billing"},"currency":{"type":"string","example":"usd"},"plans":{"type":"array","items":{"$ref":"#/components/schemas/BillingPlan"}}}},"BillingPlan":{"type":"object","additionalProperties":true,"properties":{"id":{"type":"string"},"name":{"type":"string"},"price":{"type":"string"},"amountCents":{"type":"integer"},"currency":{"type":"string"},"interval":{"type":"string"},"requestLimitPerDay":{"type":"integer"},"requestLimitPerMinute":{"type":"integer"},"maxLogoSize":{"type":"integer"},"batchLimit":{"type":"integer"},"features":{"type":"object","additionalProperties":{"type":"boolean"}}}},"SearchResult":{"type":"object","properties":{"name":{"type":"string","example":"Stripe"},"domain":{"type":"string","example":"stripe.com"},"ticker":{"type":["string","null"],"example":null},"logo":{"type":"string","format":"uri"}}},"BrandColorsResponse":{"type":"object","properties":{"domain":{"type":"string"},"colors":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"string"},"palette":{"type":"array","items":{"type":"string"}}}},"confidence":{"type":"number"},"tier":{"type":"string"}}},"CompanyIntelligence":{"type":"object","additionalProperties":true,"properties":{"domain":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"industry":{"type":"string"},"company_size":{"type":"string"},"technologies":{"type":"array","items":{"type":"string"}},"social_media":{"type":"object","additionalProperties":true},"tier":{"type":"string"}}},"DomainDescription":{"type":"object","properties":{"name":{"type":"string"},"domain":{"type":"string"},"description":{"type":["string","null"]},"indexed_at":{"type":"string","format":"date-time"},"ticker":{"type":["string","null"]},"exchange":{"type":["string","null"]},"socials":{"type":"object","additionalProperties":true},"logo":{"type":"string","format":"uri"},"colors":{"type":"array","items":{"$ref":"#/components/schemas/RgbColor"}},"industry":{"type":["string","null"]},"company_size":{"type":["string","null"]},"technologies":{"type":"array","items":{"type":"string"}}}},"BrandMetadata":{"allOf":[{"$ref":"#/components/schemas/DomainDescription"}]},"BrandKit":{"allOf":[{"$ref":"#/components/schemas/DomainDescription"},{"type":"object","properties":{"assets":{"type":"object","properties":{"logo":{"type":"string","format":"uri"},"variants":{"type":"array","items":{"$ref":"#/components/schemas/LogoVariant"}}}},"usage":{"type":"object","additionalProperties":{"type":"string"}}}}]},"LogoVariant":{"type":"object","properties":{"size":{"type":"integer"},"png":{"type":"string","format":"uri"},"webp":{"type":"string","format":"uri"},"svg":{"type":"string","format":"uri"}}},"RgbColor":{"type":"object","properties":{"hex":{"type":"string"},"r":{"type":"integer"},"g":{"type":"integer"},"b":{"type":"integer"}}},"RefreshLogoResponse":{"type":"object","properties":{"domain":{"type":"string"},"refreshed":{"type":"boolean"},"logo":{"type":"string","format":"uri"},"source":{"type":"string"}}},"ClearLogoCacheResponse":{"type":"object","properties":{"domain":{"type":"string","example":"stripe.com"},"cleared":{"type":"boolean"},"scope":{"type":"array","items":{"type":"string"}}}},"BatchDomainsRequest":{"type":"object","required":["domains"],"properties":{"domains":{"type":"array","minItems":1,"items":{"type":"string","example":"stripe.com"}}}},"BatchLogoResponse":{"type":"object","properties":{"count":{"type":"integer"},"limit":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/BatchLogoResult"}}}},"BatchLogoResult":{"type":"object","properties":{"domain":{"type":"string"},"logo":{"type":"string","format":"uri"},"api":{"type":"string","format":"uri"}}},"BatchDescribeResponse":{"type":"object","properties":{"count":{"type":"integer"},"limit":{"type":"integer"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/DomainDescription"},{"$ref":"#/components/schemas/BatchDescribeError"}]}}}},"BatchDescribeError":{"type":"object","properties":{"domain":{"type":"string"},"error":{"type":"string","example":"describe_failed"},"logo":{"type":"string","format":"uri"}}},"ProblemDetails":{"type":"object","required":["type","title","status","detail"],"additionalProperties":true,"properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string"},"docs":{"type":"string","format":"uri"},"upgrade":{"type":"string","format":"uri"},"retryAfter":{"type":"integer"},"currentTier":{"type":"string"}}}}}}