---
id: config-read-webhook
title: "Read webhook"
description: "This endpoint is used to read a webhook by its ID."
sidebar_label: "Read webhook"
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 webhook</h1>

<MethodEndpoint method={"get"} path={"/v2/config/webhook/{webhookId}"}></MethodEndpoint>



This endpoint is used to read a webhook by its ID.

## 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={{"in":"path","name":"webhookId","required":true,"schema":{"type":"string"},"style":"simple"}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

OK

</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={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>webhook</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"id"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Webhook ID"}}></SchemaItem><SchemaItem collapsible={false} name={"orgId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Organisation ID"}}></SchemaItem><SchemaItem collapsible={false} name={"payloadUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Webhook payload Url"}}></SchemaItem><SchemaItem collapsible={false} name={"contentType"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`application/json`, `application/x-www-form-urlencoded`]"} schema={{"type":"string","description":"Webhook payload content type","enum":["application/json","application/x-www-form-urlencoded"]}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>subscribedEvents</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"consentManagementWebhook"} required={false} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`data.update.initiated`, `data.update.cancelled`, `consent.allowed`, `consent.disallowed`, `consent.auto_expiry`, `org.unsubscribed`, `data.delete.initiated`, `data.download.initiated`, `data.delete.cancelled`, `data.download.cancelled`, `org.subscribed`]"} schema={{"type":"array","items":{"type":"string","description":"Subscribed event","enum":["data.update.initiated","data.update.cancelled","consent.allowed","consent.disallowed","consent.auto_expiry","org.unsubscribed","data.delete.initiated","data.download.initiated","data.delete.cancelled","data.download.cancelled","org.subscribed"]}}}></SchemaItem><SchemaItem collapsible={false} name={"digitalWalletWebhook"} required={false} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`digitalwallet.connection.init`, `digitalwallet.connection.invitation`, `digitalwallet.connection.request`, `digitalwallet.connection.response`, `digitalwallet.connection.active`, `digitalwallet.connection.error`, `digitalwallet.connection.inactive`, `digitalwallet.connection.delete`, `digitalwallet.credential.proposal_sent`, `digitalwallet.credential.proposal_received`, `digitalwallet.credential.offer_sent`, `digitalwallet.credential.offer_received`, `digitalwallet.credential.request_sent`, `digitalwallet.credential.request_received`, `digitalwallet.credential.credential_issued`, `digitalwallet.credential.credential_received`, `digitalwallet.credential.credential_acked`, `digitalwallet.presentation.proposal_sent`, `digitalwallet.presentation.proposal_received`, `digitalwallet.presentation.request_sent`, `digitalwallet.presentation.request_received`, `digitalwallet.presentation.presentation_sent`, `digitalwallet.presentation.presentation_received`, `digitalwallet.presentation.verified`, `digitalwallet.presentation.presentation_acked`, `openid.credential.offer_sent`, `openid.credential.offer_received`, `openid.credential.credential_issued`, `openid.credential.credential_acked`, `openid.credential.credential_pending`, `openid.presentation.request_sent.v3`, `openid.presentation.request_received.v3`, `openid.presentation.presentation_acked.v3`, `openid.presentation.presentation_pending.v3`]"} schema={{"type":"array","items":{"type":"string","description":"Subscribed event","enum":["digitalwallet.connection.init","digitalwallet.connection.invitation","digitalwallet.connection.request","digitalwallet.connection.response","digitalwallet.connection.active","digitalwallet.connection.error","digitalwallet.connection.inactive","digitalwallet.connection.delete","digitalwallet.credential.proposal_sent","digitalwallet.credential.proposal_received","digitalwallet.credential.offer_sent","digitalwallet.credential.offer_received","digitalwallet.credential.request_sent","digitalwallet.credential.request_received","digitalwallet.credential.credential_issued","digitalwallet.credential.credential_received","digitalwallet.credential.credential_acked","digitalwallet.presentation.proposal_sent","digitalwallet.presentation.proposal_received","digitalwallet.presentation.request_sent","digitalwallet.presentation.request_received","digitalwallet.presentation.presentation_sent","digitalwallet.presentation.presentation_received","digitalwallet.presentation.verified","digitalwallet.presentation.presentation_acked","openid.credential.offer_sent","openid.credential.offer_received","openid.credential.credential_issued","openid.credential.credential_acked","openid.credential.credential_pending","openid.presentation.request_sent.v3","openid.presentation.request_received.v3","openid.presentation.presentation_acked.v3","openid.presentation.presentation_pending.v3"]}}}></SchemaItem><SchemaItem collapsible={false} name={"dataMarketplaceWebhook"} required={false} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`datamarketplace.data_disclosure_agreement_record`]"} schema={{"type":"array","items":{"type":"string","description":"Subscribed event","enum":["datamarketplace.data_disclosure_agreement_record"]}}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"disabled"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Is webhook disabled or not"}}></SchemaItem><SchemaItem collapsible={false} name={"secretKey"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Secret key for checking authenticity of the source"}}></SchemaItem><SchemaItem collapsible={false} name={"skipSslVerification"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Skip SSL verification for webhook Url"}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Creation timestamp"}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"webhook\": {\n    \"id\": \"string\",\n    \"orgId\": \"string\",\n    \"payloadUrl\": \"string\",\n    \"contentType\": \"application/json\",\n    \"subscribedEvents\": {\n      \"consentManagementWebhook\": [\n        \"data.update.initiated\"\n      ],\n      \"digitalWalletWebhook\": [\n        \"digitalwallet.connection.init\"\n      ],\n      \"dataMarketplaceWebhook\": [\n        \"datamarketplace.data_disclosure_agreement_record\"\n      ]\n    },\n    \"disabled\": true,\n    \"secretKey\": \"string\",\n    \"skipSslVerification\": true,\n    \"timestamp\": \"string\"\n  }\n}"} language={"json"}></ResponseSamples></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>

Resource not found

</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={"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>
      