---
title: "Serve plugin icon"
method: GET
path: "/api/plugin/{RepoName}/icon"
tags: ["plugin"]
---

# Serve plugin icon

`GET /api/plugin/{RepoName}/icon`

Serves the icon for {RepoName}, whether or not that plugin is installed. Resolved in three tiers: 1. a local icon.png in the plugin's directory; 2. the iconURL out of the plugin's own installed pluginInfo.json; 3. the iconURL out of the listed pluginInfo.json for {RepoName}, for plugins that are listed but not installed (the Browse tab). Serving these same-origin is what lets the Plugins page show icons at all -- raw.githubusercontent.com is allow-listed in FPP's CSP connect-src, not img-src. The client passes only a repo name: tiers 2 and 3 both run their URL past PluginIconURLIsAllowed() before fetching, so the set of things this endpoint can be made to request is bounded by the plugin list and by that allow-list, not by the caller.

## Response `200`

Image data

## Other responses

- `404` — No icon available

---

[API](https://skmtc.net/falconchristmas/apis/fpp-api.md) · [All operations](https://skmtc.net/falconchristmas/apis/fpp-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/falconchristmas/fpp-api/versions/6fa524e15dd4/schema)
