---
id: config-update-digital-wallet-open-id-notification
title: "Update notification"
description: "Updates a wallet notification status for OID4VCI or OpenID4VP events."
sidebar_label: "Update notification"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "put 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"}>Update notification</h1>

<MethodEndpoint method={"put"} path={"/v2/config/digital-wallet/openid/notification/{notificationId}"}></MethodEndpoint>



Updates a wallet notification status for OID4VCI or OpenID4VP events.

## 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={{"description":"Unique identifier of an OID4VCI credential lifecycle notification.","in":"path","name":"notificationId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><MimeTabs className={"openapi-tabs__mime"}><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} className={"openapi-markdown__details mime"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-mime"}><h3 className={"openapi-markdown__details-summary-header-body"}>Body</h3></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"status"} required={false} schemaName={"string"} qualifierMessage={"**Possible values:** [`read`]"} schema={{"type":"string","description":"Define the status of the notification","enum":["read"]}}></SchemaItem></ul></details></TabItem></MimeTabs><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"}}><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></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"notification\": {\n    \"id\": \"string\",\n    \"notificationType\": \"credential_acked\",\n    \"notificationTypeRelatedId\": \"string\",\n    \"notificationContent\": {},\n    \"status\": \"read\",\n    \"createdAt\": 0,\n    \"updatedAt\": 0\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>
      