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