---
id: config-read-recent-webhook-delivery
title: "Read webhook delivery"
description: "This endpoint reads 1 payload delivery of a webhook. Give the webhook ID and the delivery ID in the path."
sidebar_label: "Read webhook delivery"
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 delivery</h1>

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



This endpoint reads 1 payload delivery of a webhook. Give the webhook ID and the delivery ID in the path.

The service sends the delivery object as the whole response body. There is no wrapper field.

The service does not send the request headers, the request payload, the response headers or the response body of the delivery. It keeps them, but no endpoint gives them back.


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

The service returned the webhook delivery.

</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={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier of the delivery. This is the `deliveryID` field of the delivered payload.","example":"68a1f2c3d4e5f6a7b8c9d0e1"}}></SchemaItem><SchemaItem collapsible={false} name={"webhookId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier of the webhook that made the delivery."}}></SchemaItem><SchemaItem collapsible={false} name={"responseStatusCode"} required={true} schemaName={"int32"} qualifierMessage={undefined} schema={{"type":"integer","format":"int32","description":"HTTP status code that the payload URL sent. The value is `0` when the service could not reach the payload URL.","example":200}}></SchemaItem><SchemaItem collapsible={false} name={"responseStatusStr"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"HTTP status text that the payload URL sent. The value is an empty string when the service could not reach the payload URL.","example":"200 OK"}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"UTC time when the delivery started."}}></SchemaItem><SchemaItem collapsible={false} name={"status"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`completed`, `failed`]"} schema={{"type":"string","description":"Result of the delivery. `completed` means the payload URL answered, also when it answered with an error code. Read `responseStatusCode` to see the answer. `failed` means the service could not reach the payload URL.","enum":["completed","failed"],"example":"completed"}}></SchemaItem><SchemaItem collapsible={false} name={"statusDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Reason for a failure. The value is an empty string when the delivery succeeded."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"id\": \"68a1f2c3d4e5f6a7b8c9d0e1\",\n  \"webhookId\": \"string\",\n  \"responseStatusCode\": 200,\n  \"responseStatusStr\": \"200 OK\",\n  \"timestamp\": \"string\",\n  \"status\": \"completed\",\n  \"statusDescription\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The webhook has no delivery with the given delivery ID.

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

The organisation has no webhook with the given webhook ID.

</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>
      