# IRPCViews.GetExternalRepositoryIcons

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md) > [Views](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/GetExternalRepositoryIcons/

Badges: `Vault API / standard` `read` `session or assertion` `idempotent` `returns metadata structure version`

Gets icons that external repository connections provide for their views and objects.

- **Service:** [Views](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/index.md) `MFiles.IRPCViews`
- **gRPC method:** `/MFiles.IRPCViews/GetExternalRepositoryIcons`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-external-repository-icons`
- **Request:** [`GetExternalRepositoryIconsRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/GetExternalRepositoryIcons/index.md#request)
- **Response:** [`GetExternalRepositoryIconsResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/GetExternalRepositoryIcons/index.md#response)
- **Book and level:** Vault API, standard
- **Kind:** read
- **Session:** Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
- **Idempotent:** yes
- **Returns metadata structure version:** yes (in the mfiles-metadata-version-bin trailer)
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

- Requires a vault session. The icons are requested from the external repository connections
  of the vault. An empty `ids` list fails with "Not found.".
- Each result carries its `id`, so you can match results to requests.

<a id="request"></a>

## Request: GetExternalRepositoryIconsRequest

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `ids[]` | repeated [`ExternalRepositoryID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExternalRepositoryID/index.md) | The icon IDs: the external repository connection and the icon's ID within it. |
| `ids[].connection` | `string` | The external repository connection identifier. |
| `ids[].item` | `string` | External ID within the scope of the connection to external system. |
| `icon_format` | [`IconFormat`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.IconFormat/index.md) | `ICON_FORMAT_ICO` for a multi-size .ico file, or `ICON_FORMAT_PNG` for a PNG image of `size` pixels. Values: `ICON_FORMAT_ICO` (0), `ICON_FORMAT_PNG` (1). |
| `size` | `int32` | With `ICON_FORMAT_PNG`, the width and height of the image in pixels. Ignored for `ICON_FORMAT_ICO`. |

<a id="response"></a>

## Response: GetExternalRepositoryIconsResponse

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `icons[]` | repeated [`ExternalRepositoryIcon`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExternalRepositoryIcon/index.md) | The icons; see [ExternalRepositoryIcon](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExternalRepositoryIcon/index.md). |
| `icons[].id` | [`ExternalRepositoryID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExternalRepositoryID/index.md) | The icon ID (external repository name and icon ID). |
| `icons[].id.connection` | `string` | The external repository connection identifier. |
| `icons[].id.item` | `string` | External ID within the scope of the connection to external system. |
| `icons[].data` | [`Bytes`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Bytes/index.md) | The icon as an .ICO file byte presentation. |
| `icons[].data.value` | `bytes` | Array of bytes. |
