---
id: config-list-digital-wallet-open-id-notification
title: "List notification"
description: "Lists wallet notifications for OID4VCI credential offers, OpenID4VP verification requests, and status updates."
sidebar_label: "List notification"
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"}>List notification</h1>

<MethodEndpoint method={"get"} path={"/v2/config/digital-wallet/openid/notifications"}></MethodEndpoint>



Lists wallet notifications for OID4VCI credential offers, OpenID4VP verification requests, and status updates.

## 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><ParamsItem className={"paramsItem"} param={{"description":"Filter notifications by read or unread status.","in":"query","name":"status","schema":{"type":"string","enum":["read","unread"]}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Filter notifications by OID4VCI credential lifecycle event type.","in":"query","name":"notificationType","schema":{"type":"string","enum":["credential_acked","credential_revoked","credential_expired"]}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Search term to filter results by","in":"query","name":"search","required":false,"schema":{"type":"string"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Sort order for the returned records (ascending or descending).","in":"query","name":"sortOrder","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div></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"}>notification</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><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier for the notification."}}></SchemaItem><SchemaItem collapsible={false} name={"notificationType"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`credential_acked`, `credential_revoked`, `credential_expired`]"} schema={{"type":"string","description":"Type of the OID4VCI notification event. `credential_acked` (holder acknowledged), `credential_revoked` (issuer revoked), `credential_expired` (credential expired).","enum":["credential_acked","credential_revoked","credential_expired"]}}></SchemaItem><SchemaItem collapsible={false} name={"notificationTypeRelatedId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the related resource (e.g. credential exchange ID)."}}></SchemaItem><SchemaItem collapsible={false} name={"notificationContent"} required={false} schemaName={"object"} qualifierMessage={undefined} schema={{"type":"object","description":"JSON object containing the notification payload details."}}></SchemaItem><SchemaItem collapsible={false} name={"status"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`read`, `unread`]"} schema={{"type":"string","description":"Read status. `unread` for new notifications, `read` for viewed.","enum":["read","unread"]}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) when the notification was created."}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"number"} qualifierMessage={undefined} schema={{"type":"number","description":"Unix timestamp (in seconds) when the notification was last modified."}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></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"}>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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"notification\": [\n    {\n      \"id\": \"string\",\n      \"notificationType\": \"credential_acked\",\n      \"notificationTypeRelatedId\": \"string\",\n      \"notificationContent\": {},\n      \"status\": \"read\",\n      \"createdAt\": 0,\n      \"updatedAt\": 0\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 25,\n    \"totalPages\": 3,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": true\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>
      