mcp-icons

Get Registration Icon

TOS-5027: a globally-published connector's icon is always a vendor brand logo, never sensitive data - the same definition.library_id is None test _load_registration_for_icon_write uses to refuse writes against a shared publisher row. A marketplace/catalog <img> tag cannot attach a Bearer token, so gating every icon behind auth made this route 401 for that case and silently fall back to a generic glyph (confirmed live: 401 with no Authorization header). Served public here, matching identity_avatars.py's existing public-image pattern; a private, folder-scoped instance still requires the caller's per-folder VIEW rung exactly as before.

TOS-5192: the authenticated path used to load the aggregate TWICE - the probe load_aggregate above (needed to test definition.library_id) and again inside RegistrationService.get for the rung check. When the probe says the definition IS library-scoped, its aggregate already answers the rung check's first question (instance.library_id), so the rung is resolved here directly and the probe's aggregate is reused; the second full load disappears. Same authz semantics: no membership still 404, rung below VIEW still 403. The probe does NOT 404 an unknown id before the auth gate: an anonymous caller with an unknown id still gets the 401, so the route keeps test_unknown_instance_401s...'s existence-non-leak property.

get/api/integrations/instances/{registration_id}/icon

Request

  • Base URL: https://app.thinqos.com (the document declares no server; this is the origin it was published from)
  • URL: https://app.thinqos.com/api/integrations/instances/{registration_id}/icon
  • Auth: none declared

Path parameters

registration_idstring uuid required

Headers

x-impersonate-identity-idstring nullable

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 2 revisions of this API.