---
id: onboard-read-organisation-logo-image
title: "Read organisation logo image"
description: "Returns the logo image of the organisation of the API key or token, as image bytes. The `Content-Type` is always `image/jpeg`, also for a PNG, GIF or WebP image that you uploaded with [Update organisation logo image](/docs/openid4vc-api/onboard-update-organisation-logo-image). The same image is public at the `logoImageUrl` of [Read organisation](/docs/openid4vc-api/onboard-read-organisation)."
sidebar_label: "Read organisation logo image"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/openid4vc-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>Read organisation logo image</h1>

<MethodEndpoint method={"get"} path={"/v4/onboard/platform/organisation/logoimage"}></MethodEndpoint>



Returns the logo image of the organisation of the API key or token, as image bytes. The `Content-Type` is always `image/jpeg`, also for a PNG, GIF or WebP image that you uploaded with [Update organisation logo image](/docs/openid4vc-api/onboard-update-organisation-logo-image). The same image is public at the `logoImageUrl` of [Read organisation](/docs/openid4vc-api/onboard-read-organisation).

<div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The logo image.

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"image/jpeg"} value={"image/jpeg"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem","marginLeft":"1rem"}}>

string

</div></ul></details></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The `Authorization` header is missing, or the API key or token is not valid.

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

The API key or token does not allow this call. An API key without the scope of the operation gets the older body `{"Code", "Message"}`. An `X-SandboxOrgId` header that names another sandbox organisation than the one of the API key gets `{"errorCode", "errorDescription"}`. When a platform admin has turned off the feature of the operation for the organisation, the answer has `errorKey` `feature_disabled` and the member `feature` (the name of the feature).

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><div><span className={"badge badge--info"}>anyOf</span><SchemaTabs><TabItem label={"MOD1"} value={"0-item-properties"}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></TabItem><TabItem label={"Older error body"} value={"1-item-properties"}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></TabItem></SchemaTabs></div></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"404"} value={"404"}><div>

The organisation has no logo image: `Organisation <organisationId> has no logo image`.

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Unexpected server error, for example the stored image cannot be read.

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      