---
id: config-read-digital-wallet-open-id-file
title: "Download uploaded file"
description: "Downloads a previously uploaded PDF file used in OpenID4VP transaction data signing."
sidebar_label: "Download uploaded file"
hide_title: true
hide_table_of_contents: true
api: eJzlVsFuGzcQ/RViTgmwlhzHvSyCoE6cBGqK1oiT5hAY8Gg52mXMJRmSK1kV9tYv6af1S4ohdyVZtttceurFpsid4Zs3M2+4AUmh8spFZQ2UcG5XRluUQaBwnpbKdkGvRed4k6S4OH8rFkqT6AJJoYz41ZGZnZ/+diGiRxOwYkdCYkQRVG2UqSdQgHXkkU9mEkqorFmo+gOhPFe1iqg/o9YUkyv5VmmCAhx6bCmSD1B+2YDBlqAEvnomoQDFYB3GBgrw9K1TniSU0XdUQKgaahHKDcS1Y6sQvTI1FLCwvsUIJXSdktAXB8HPzoVdiNjQLt4Ua7RCDrxAf8UXBmdNoMB3nBwf87+7nrY0VdZEMhEKGFflBtA5rarEx9TJBW99B+a5MujX0Pd9X8Dp8TP++BGnXwOj2Pe64+gLkPfWv7aSaU7r8z3sV8WIwM6/UsXInef0RZXj3VnvwCoTqSbP/m6xdZqgPD0+7h9w/0CAWxN4hVxSrotim/0U7r1EfTLYxcZ69TtxMTSEMhXKJlNzej8hXFXC2CgWtjMp9T/kvP1PGZyZSN6gFoH8krxI1xxQ2RcQqOq8iuvUg2dOvSdeXvXFBl4RevJnXWzSDkeNNTcrnNuqa8lEcZkFgBlpKTaWe7+mRAh3bgnT5fNpFoMp3UYygamXg/nRoB9TbqTpJrd+DwyKIWddOFAvau0QERTQeQ0lNDG6UE6nklp7hE5NVO3RxImywGEc9K23sssS9oibf/NwGbFWpn7MPOTjQyBXO6ovueJyoYyEbzOOeWOQv5wrKEZxPBt6IlUwHGb87GImbmgtuHPIxKHQJ+JjQ2KJuqNR+67v+LkW+RrRdiGKOfFUWKhbkmKlYiOuM0ZxLZ4YGyk5iB6VThw4rOhpIWhSTw7clmIwfLG2nWc6jm5o/fJ6wq25X1obmKdfb0cZ/Onzx/uxVRWFIKK9ISMchjDCy54GzDyu7oAQWwZTmzOH+TLYtjDnDbgTlFnYUS+wSnpBLSrObeicsz7+uMvnNiXq3W7rbiHs19BBNFsj8eSvP/58KhQP48sVSRWaPFnptmrQ1CTQSLEkrxZDOlPZqYqzZJdKkp+IWeRZHUQgvTgKdkmeVG2EklwEcV0M9jjnaeUpbaMOhUAh83QWqzSe02XBaiWFs1JEqhpjta0VhUKQwXnKOQpDK6FpSZoLinUtiR/OlVZxnZxgF22LkT+vbOu0QlNRTlgKz1Pd6RRP4JyhWHRac+VKFRPOFo0hzw8LrSoyISnp2AUOq4bEyeT4Huer1WqC6XhifT0dbMP059nrN79cvjlim76AqKK+kzzBvTPK0thdLEE5XyfHJ6eT55NnbOtsiC2aPTzji+rum+KwhPcG0X/1BhsqOtJtnDqNyjDeRNBm0OMvsHyeXyoLlefKoMmM9kCV+WWS4yiHR9lVAY0Nkd1sNnMM9Mnrvuftbx35NDcKWKJPpZbFWwVeSygXqAP9AyVPPgzT96n4nkfaI8GOKmpYQpPmQQlQwA2L7Pi27K/6cQwmkPmQFcbFPbPDN1y/P+TevWGNwkHAduJ9k8R7WLDzBxEd6nhGwH953Dxo8oIr9D2tX24/zyePGmyVL3/N/Fz1ff83GTouYA==
sidebar_class_name: "get api-method"
info_path: docs/extensions-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"}>Download uploaded file</h1>

<MethodEndpoint method={"get"} path={"/v3/config/extension/document-signing/file/{fileId}"}></MethodEndpoint>



Downloads a previously uploaded PDF file used in OpenID4VP transaction data signing.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"name":"fileId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"ID of the uploaded file to download"}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

PDF file content

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/pdf"} value={"application/pdf"}><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>

Unauthorized

</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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"404"} value={"404"}><div>

File not found

</div><div></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error

</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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      