---
id: config-list-webhooks
title: "List all webhooks"
description: "This endpoint is used to get all webhooks that was defined to trigger events to an external IT system."
sidebar_label: "List all webhooks"
hide_title: true
hide_table_of_contents: true
api: eJzdV01v2zgQ/SsDXjYBFNtJU2BhFMWmTlq47SYB4iaHwEBoaWyxkUguObLjNfTfF0NJtmwn26aHPezFHxLnzeN8vCFXIkHrMJaEiehPZeYxEgn62ClLymjRF6NUeUCdWKM0gfJQeEyADMyQQGYZLHCSGvPogVJJsJAeEpwqXS0ip2YzdIBz1OT5idSAT4ROywyGI/BLT5h3RCSMRSfZ6TARfREbPVWzr8rTXY0vImGlkzkSOi/696sdopdFPkEHZgoOY+OS4M0/KgtT48DKmdIBnn0pNvirQLcUkdAyR9EXZjr1SCISDv8qlGsFxMcp5lL0V4KWlpcqTThDJ8oyWjXmmcoV7UJvM/xTPqm8yEE/x9QhFU6DxcAVO68iwp6msshI9I97ZTlmW2+N9uh59Umvx1+x0YSa+Ke0NlNxiEf3u2d2qxa6dZwMUpX1JnQtz2byHWPeLynK+MH1ZlW0AxAXzqGmaznDF7i3ozSoVoco1KESkcAnmVt2dFxGggzJbEiY+5/AG/HiVswV24GcS5XJSYZt7JO3DThz/RVwJu1hIrlHjIamKNYe3pRRXSk/xr7codyUxlY0emUkUumvHc6VKdqUJ8ZkKPUe7FAnnHn0oKZAKTr8zYMEWyPsuQi1V3m5xCf6dQ8an2gPnVyBZVlGopERxldNardxayVgrdB4NQ0asOmRe2HlMjMy+eYyETXFPmKqkfDFhJEmmFwEJWLOynP+E36LsUP6gtyyrBg3PrtFp6Z1h4Qqz9GTzK0YRy+2QMOvHJfrRdI5uWSh2LEKe97e3tUXEYkUZRL0bcULTnvHr2rcdjTQOeMGJgnh5t/nLW/P7GK7ZzfWzxXqOn2nPS7APfiNjSen9KxtIj7IBJS2BRdDreccjv2AfNOyoNQ49XfI0nZo3r5S0/5foRnqeoR6dHOer+xmJ0ZlKOzCKVqGVjmziku8fz/msfUBpUN3VlAanvCu5Yzn6rqMx5HIkVLD43gWJqOVvFp05yfdaj53F5vhXDF5bjKfY25qoiIShctEX6RE1ve73QRzcySt6qiZk5o6yghmtw1w7UxSxPznJZgfIdwQj6fZS+a+er1LZLyJ4A0XUpX/Jo7rRMrqQT37qxRszhVndQ03UrJN7Ox6CI+4BK501FTXbwdGKcJcZgWy/lOK8LCF8wCVG8gLTzBBlu+pesIEFopSeKg4wgMcaEMYAMhJlYUYWBnjYQTYmXV2YPtQG75bmsJxOI4ecfn+oSPKaKtiVmIS/n00Lpck+uLz3Wh/b3GMng83j6jBSu8behVSzRmUhi0SsI5g6N4waYKBWHcm5y2IqtJT08iAjIMMYC4V59YX1hpHf2zyuU6J+rR5tF0I7Rra2c3aCKwzc5Ugz7TYcOcSguLvHDVVW6iTdmVRD8/DAbQaKDxxYOAw4VzLzMPQ+0LqGOHganh+ejsYHoLUyQuG1w792sVBteb09vqQGZGJTea5cJQHrirUbOPBuJnUdWjDSVN5X2AEqcmSKDibs4clJGqm+DQTt+gVPlQMSZ1Il/ijsF8lNcE0MwtfpbOOdGB792YAtwM4+Hw3OoxgeDH6CDfnR5/vRnA7qLwNb67g+Pfe8Zujt5Cfm7ibn39t+WSUXJLnA3CmYtQ+6GzTTFbGKcJJp7eXusVi0ZHhdce4Wbe29d2vw8HF5c3FEduUm2G9SScHKzFxsc6eiAQrWZX2k97JaedN55htrfGUS93iwxeUrVvQbhO0JtR/d5Wqu4Twibo2k0oz+RCtVa3h92J+Uh2SpopH0Jr+OBKp8cQrVis+x35zWVny4+pOE9S9OTk9e2Ns7/g1d7JnST+y0G6uZkERRV9UCv/TNF578foXKs2JfsNkzH9caNBqtjYTgENVGbEQ2rbV3lGlbA/bTxespbIW2s2QeQxDpv7B6M0rvWxh786bigJ/ctCeNXnHLfAFl+/Xy6s3LxqsFbpazQEal2X5Dwh0pOU=
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"}>List all webhooks</h1>

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



This endpoint is used to get all webhooks that was defined to trigger events to an external IT system.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Query Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Number of records to skip for pagination.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"limit","in":"query","description":"Maximum number of records to return per page.","required":false,"schema":{"type":"integer","default":10}}}></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"}>pagination</strong><span className={"openapi-schema__name"}> object</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"currentPage"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Current page number","example":1}}></SchemaItem><SchemaItem collapsible={false} name={"totalItems"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of items available","example":25}}></SchemaItem><SchemaItem collapsible={false} name={"totalPages"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of pages based on limit","example":3}}></SchemaItem><SchemaItem collapsible={false} name={"limit"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Number of items per page","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"hasPrevious"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a previous page","example":false}}></SchemaItem><SchemaItem collapsible={false} name={"hasNext"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a next page","example":true}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>webhooks</strong><span className={"openapi-schema__name"}> object[]</span></span></summary><div style={{"marginLeft":"1rem"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><div><span className={"badge badge--info"}>oneOf</span><SchemaTabs><TabItem label={"Webhook"} value={"0-item-properties"}><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></TabItem></SchemaTabs></div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 25,\n    \"totalPages\": 3,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": true\n  },\n  \"webhooks\": [\n    {}\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={"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>
      