Inrupt · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Inrupt Change Notifications

8 actions 8 updates servers
Derived by API Evangelist Built from the contracts Inrupt publishes. Inrupt did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptioncontactx-documentationserversx-conformancex-paginationx-event-typesx-idempotency

Targets 7

$.info
$
$.paths['/subscriptions'].get
$.paths['/subscriptions'].post
$.paths['/subscriptions/{identifier}'].delete
$.components.schemas.Subscription.properties.storage
$.components.securitySchemes.SolidAuthentication

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Inrupt Change Notifications
  version: 1.0.0
x-generated: '2026-08-23'
x-method: generated
x-source: openapi/inrupt-notification-openapi.yaml
x-extends: openapi/inrupt-notification-openapi.yaml
x-note: >-
  Additive only. Every action below records something Inrupt publishes elsewhere (its service
  reference, its hosted deployment, its RFC claims) that the spec itself omits. The original document
  at https://notification.inrupt.com/openapi.yaml is never mutated.
actions:
- target: $.info
  description: Add contact, licence-free description and documentation context absent from info.
  update:
    description: >-
      The ESS Notification Delivery Service lets an authorized agent subscribe to change events on Pod
      resources and on Access Requests and Grants, and receive them as RFC 9421-signed webhook POSTs at
      a remote HTTPS endpoint. Two scopes exist - /subscriptions for authenticated users (delivery is
      further filtered by the subscriber's own authorization on the resource) and /system/subscriptions
      for allow-listed system managers whose legal basis for processing is contract.
    contact:
      name: Inrupt Service Desk
      url: https://inrupt.atlassian.net/servicedesk
    x-documentation: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
- target: $
  description: >-
    Add a servers block. The published document declares no servers[], so a tool cannot resolve a
    request URL from the spec alone. ESS is customer-deployed, so the host is templated, with Inrupt's
    own hosted PodSpaces deployment as the default.
  update:
    servers:
    - url: https://notification.{essDomain}
      description: ESS Notification Delivery Service for a given deployment.
      variables:
        essDomain:
          default: inrupt.com
          description: >-
            The ESS deployment domain. inrupt.com is Inrupt's hosted PodSpaces developer preview.
- target: $
  description: Record the standards this service implements, verified against its own documentation.
  update:
    x-conformance:
      error_format: rfc9457
      webhook_signatures: rfc9421
      auth: solid-oidc, oauth2-token-exchange-rfc8693, dpop-rfc9449
      pagination: page/pageSize with RFC 8288 Link rel=next / rel=prev
- target: $.paths['/subscriptions'].get
  description: Document the pagination contract, which is described in the service reference but not in the spec.
  update:
    x-pagination:
      style: page-number
      params: [page, pageSize]
      page_size_max: 100
      page_size_default: 10
      link_headers: ['rel="next"', 'rel="prev"']
- target: $.paths['/subscriptions'].post
  description: Record the event-type enumeration accepted in the request body's type[] array.
  update:
    x-event-types:
    - AccessRequestPending
    - AccessRequestDenied
    - AccessGrantIssued
    - AccessGrantRevoked
    - AccessGrantExpired
    - ResourceCreated
    - ResourceUpdated
    - ResourceDeleted
    - ContainerCreated
    - ContainerUpdated
    - ContainerDeleted
    x-idempotency: >-
      None. Repeating this request creates an additional subscription; there is no client-supplied
      request key and no server-side deduplication.
    x-reversibility:
      operation: removeSubscription
      window: any time while the subscription exists
- target: $.paths['/subscriptions/{identifier}'].delete
  description: Mark the reversal relationship explicitly for agent tooling.
  update:
    x-reverses: createSubscription
- target: $.components.schemas.Subscription.properties.storage
  description: Record the ESS 3.0 canonical-URI requirement, which is a correctness trap for clients.
  update:
    x-required-uri-form: >-
      Must be the canonical resource URI ({storage-id}/sc/{resource-id}), not the path URI
      ({storage-id}/sp/{resource-path}), so the subscription survives a deployment domain change.
- target: $.components.securitySchemes.SolidAuthentication
  description: Describe how the bearer token is actually obtained.
  update:
    description: >-
      A Solid-OIDC access token, or an ESS Access Token obtained by RFC 8693 token exchange against
      https://platform.{essDomain}/access/token. Default ESS Access Token TTL is 5 minutes; treat 401
      as routine and re-exchange.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay 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 overlay
curl "https://apis.io/api/v1/overlays/inrupt-notification-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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