Inrupt · AsyncAPI Specification

Inrupt Notifications Webhooks

Version

View Spec View on GitHub CompanySolidPersonal Data StoresDecentralized IdentityData PrivacyAccess ControlVerifiable CredentialsLinked DataRDFConsent ManagementData WalletsAgent InfrastructureModel Context ProtocolEnterprise SoftwareAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-23'
method: searched
source: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
type: Webhooks
asyncapi_published: false
asyncapi_note: >-
  Inrupt publishes no AsyncAPI document. The event surface is real and fully documented, and the
  subscription-management side of it carries an OpenAPI 3.1.0 contract
  (openapi/inrupt-notification-openapi.yaml), but the delivered message itself is described only in
  prose plus the NotificationContent schema inside that same OpenAPI. This catalog records the webhook
  surface; it is not a generated AsyncAPI and must not be read as one.
service:
  name: ESS Notification Delivery Service
  introduced: ESS 2.4
  base_url: https://notification.{ess-domain}
  hosted_instance: https://notification.inrupt.com
  delivery: HTTP POST of a JSON payload to a subscriber-supplied HTTPS webhook URL
  removed_transports:
  - name: WebSocket Notification Service
    removed_in: ESS 3.0
    replacement: Notification Delivery Service
  - name: Notification Gateway Service
    removed_in: ESS 3.0
event_types:
- name: AccessRequestPending
  description: An agent has created an Access Request and is awaiting a response.
- name: AccessRequestDenied
  description: An Access Request was denied.
- name: AccessGrantIssued
  description: An Access Grant was issued and is now available for use.
- name: AccessGrantRevoked
  description: An Access Grant was revoked and is no longer available for use.
- name: AccessGrantExpired
  description: An Access Grant has expired.
- name: ResourceCreated
  description: A resource was created.
- name: ResourceUpdated
  description: A resource was modified.
- name: ResourceDeleted
  description: A resource was deleted.
- name: ContainerCreated
  description: A container was created.
- name: ContainerUpdated
  description: A container was modified.
- name: ContainerDeleted
  description: A container was deleted.
payload:
  schema: NotificationContent (openapi/inrupt-notification-openapi.yaml components.schemas)
  content_type: application/json
  fields:
  - name: id
    description: Uniquely identifies the notification event (UUID).
  - name: subscription
    description: UUID of the subscription that produced the notification.
  - name: published
    description: ISO-8601 timestamp of notification creation.
  - name: type
    description: One of the supported event types above.
  - name: purpose
    description: Optional; the subscription purpose, max 1024 characters.
  - name: controller
    description: Controller of the changed resource (creator of the Access Request or Grant).
  - name: audience
    description: The agent the notification is directed to.
  - name: resource
    description: The resource associated with the notification.
  - name: dataMinimization
    description: >-
      Optional; carries retentionPeriod as an ISO-8601 duration (e.g. P30D, PT2H30M) stating how long a
      processing system may retain the data in this message. This is a consent constraint travelling
      with the event, not a delivery hint.
verification:
  signature:
    standard: RFC 9421 HTTP Message Signatures
    keys: GET https://notification.{ess-domain}/jwks (JSON Web Key Set, kid-identified, x5c chain)
    requirement: Receiving webhooks must verify the signature before processing the notification.
  mtls:
    supported: true
    configured_via: subscription dispatch.authentication with a PEM X.509 serverCertificate
subscription_management:
  user_scope:
    path_prefix: /subscriptions
    auth: valid Solid OIDC / ESS access token
    note: Notifications are delivered only where the subscribing agent is authorized on the resource.
  system_scope:
    path_prefix: /system/subscriptions
    auth: system managers on a configured allow-list
    note: >-
      Broader scope for processing whose legal basis is contract - e.g. notify an endpoint about every
      Access Grant created in the system.
  hierarchical_matching:
    introduced: ESS 2.5
    description: >-
      Subscribing to a container URI (trailing slash) also delivers events for resources within it,
      with a documented matrix of which action produces which resource-level and container-level event.
  delivery_failures:
    listed_at: GET /subscriptions/{identifier}/delivery-failures
    reprocess: POST /system/subscriptions/{subscription}/delivery-failures/reprocess (system scope)
    retry_limit_config: INRUPT_NOTIFICATION_DISPATCH_RETRY_LIMIT
    failed_delivery_store_config: INRUPT_NOTIFICATION_FAILED_DELIVERY_MAX_SIZE

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/inrupt-notifications-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.