Inrupt Subscription API

Subscription Management

Operations 12

GET /subscriptions List all subscriptions #
POST /subscriptions Create a new subscription #
DELETE /subscriptions/{identifier} Remove an existing subscription #
GET /subscriptions/{identifier} Fetch an existing subscription #
GET /subscriptions/{identifier}/delivery-failures Fetch the delivery failures for a specific subscription #
GET /system/subscriptions List all system subscriptions #
POST /system/subscriptions Create a new system subscription #
DELETE /system/subscriptions/{identifier} Remove an existing system subscription #
GET /system/subscriptions/{identifier} Fetch an existing system subscription #
GET /system/subscriptions/{identifier}/delivery-failures Fetch the delivery failures for a specific system subscription #
POST /system/subscriptions/{subscription}/delivery-failures/reprocess Reprocess any failed deliveries for the given system subscription #
GET /system/subscriptions/{subscription}/delivery-failures/reprocess/{identifier} Fetch the status of a reprocessing task #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/inrupt-subscription-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

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.

OpenAPI Specification

inrupt-subscription-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Inrupt Change Notifications Subscription API
  version: 2.7.1
  description: Subscription Management
servers:
- url: https://notification.inrupt.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: subscription
  description: Subscription Management
paths:
  /subscriptions:
    get:
      summary: List all subscriptions
      operationId: listSubscriptions
      tags:
      - subscription
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          format: int32
          description: The page number, starting at 1 for the first page
          default: 1
          minimum: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
          description: The number of items to include in a page of results
          default: 10
          minimum: 1
      responses:
        '200':
          description: List the subscriptions associated with an agent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageSubscription'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
    post:
      summary: Create a new subscription
      operationId: createSubscription
      tags:
      - subscription
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subscription'
        required: true
      responses:
        '201':
          description: A subscription was successfully created
          headers:
            location:
              description: The location of the newly created subscription
              schema:
                type: string
                format: uri
          links:
            removeSubscription:
              operationId: removeSubscription
              parameters:
                identifier: $response.body#/id
            fetchSubscription:
              operationId: fetchSubscription
              parameters:
                identifier: $response.body#/id
            listDeliveryFailures:
              operationId: listDeliveryFailures
              parameters:
                identifier: $response.body#/id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: Invalid data was provided to the endpoint
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
  /subscriptions/{identifier}:
    delete:
      summary: Remove an existing subscription
      operationId: removeSubscription
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The subscription identifier
      responses:
        '204':
          description: The subscription was successfully removed
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
    get:
      summary: Fetch an existing subscription
      operationId: fetchSubscription
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The subscription identifier
      responses:
        '200':
          description: Data related to the specified subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
          links:
            removeSubscription:
              operationId: removeSubscription
              parameters:
                identifier: $response.body#/id
            listDeliveryFailures:
              operationId: listDeliveryFailures
              parameters:
                identifier: $response.body#/id
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
  /subscriptions/{identifier}/delivery-failures:
    get:
      summary: Fetch the delivery failures for a specific subscription
      operationId: listDeliveryFailures
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The subscription identifier
      - name: page
        in: query
        schema:
          type: integer
          format: int32
          description: The page number, starting at 1 for the first page
          default: 1
          minimum: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
          description: The number of items to include in a page of results
          default: 10
          minimum: 1
      responses:
        '200':
          description: A list of failures for the given subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageDeliveryFailure'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
  /system/subscriptions:
    get:
      summary: List all system subscriptions
      operationId: listSystemSubscriptions
      tags:
      - subscription
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          format: int32
          description: The page number, starting at 1 for the first page
          default: 1
          minimum: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
          description: The number of items to include in a page of results
          default: 10
          minimum: 1
      responses:
        '200':
          description: List the system subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageSubscription'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
    post:
      summary: Create a new system subscription
      operationId: createSystemSubscription
      tags:
      - subscription
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subscription'
        required: true
      responses:
        '201':
          description: A system subscription was successfully created
          headers:
            location:
              description: The location of the newly created subscription
              schema:
                type: string
                format: uri
          links:
            removeSystemSubscription:
              operationId: removeSystemSubscription
              parameters:
                identifier: $response.body#/id
            fetchSystemSubscription:
              operationId: fetchSystemSubscription
              parameters:
                identifier: $response.body#/id
            listSystemDeliveryFailures:
              operationId: listSystemDeliveryFailures
              parameters:
                identifier: $response.body#/id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: Invalid data was provided to the endpoint
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
  /system/subscriptions/{identifier}:
    delete:
      summary: Remove an existing system subscription
      operationId: removeSystemSubscription
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The subscription identifier
      responses:
        '204':
          description: The system subscription was successfully removed
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
    get:
      summary: Fetch an existing system subscription
      operationId: fetchSystemSubscription
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The subscription identifier
      responses:
        '200':
          description: Data related to the specified system subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
          links:
            removeSystemSubscription:
              operationId: removeSystemSubscription
              parameters:
                identifier: $response.body#/id
            listSystemDeliveryFailures:
              operationId: listSystemDeliveryFailures
              parameters:
                identifier: $response.body#/id
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
  /system/subscriptions/{identifier}/delivery-failures:
    get:
      summary: Fetch the delivery failures for a specific system subscription
      operationId: listSystemDeliveryFailures
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The subscription identifier
      - name: page
        in: query
        schema:
          type: integer
          format: int32
          description: The page number, starting at 1 for the first page
          default: 1
          minimum: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
          description: The number of items to include in a page of results
          default: 10
          minimum: 1
      responses:
        '200':
          description: A list of failures for the given system subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageDeliveryFailure'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
  /system/subscriptions/{subscription}/delivery-failures/reprocess:
    post:
      summary: Reprocess any failed deliveries for the given system subscription
      operationId: reprocessSystemSubscription
      tags:
      - subscription
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReprocessRequest'
        required: true
      responses:
        '201':
          description: Reprocess any failed deliveries for a subscription
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '400':
          description: Bad Request
      security:
      - SolidAuthentication: []
  /system/subscriptions/{subscription}/delivery-failures/reprocess/{identifier}:
    get:
      summary: Fetch the status of a reprocessing task
      operationId: fetchSystemSubscriptionReprocessStatus
      tags:
      - subscription
      parameters:
      - name: identifier
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: subscription
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Status information about reprocessing failed deliveries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '401':
          description: The agent is not authenticated
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
        '403':
          description: The agent is not authorized to perform this operation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpProblem'
      security:
      - SolidAuthentication: []
components:
  schemas:
    AsyncTask:
      type: object
      required:
      - agent
      - action
      - subscription
      - id
      - status
      - startedAt
      - lastUpdatedAt
      properties:
        agent:
          type: string
          format: uri
          description: WebID of the agent who triggered the reprocess task
        action:
          type: string
          enum:
          - retry
          description: The action performed on reprocessed dispatches
        subscription:
          type: string
          format: uuid
          description: The reprocess task identifier
        id:
          type: string
          format: uuid
          readOnly: true
          description: The task identifier
        status:
          type: string
          readOnly: true
          enum:
          - Pending
          - Active
          - Done
          description: Status of the task
        startedAt:
          type: string
          format: date-time
          readOnly: true
          description: Starting time of the task
        lastUpdatedAt:
          type: string
          format: date-time
          readOnly: true
          description: Last update time of the task
    PageSubscription:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Subscription'
    HttpProblem:
      type: object
      additionalProperties: true
      description: HTTP Problem Response according to RFC9457 and RFC7807
      properties:
        type:
          type: string
          format: uri
          examples:
          - https://example.com/errors/not-found
          description: A optional URI reference that identifies the problem type
        title:
          type: string
          examples:
          - Not Found
          description: A optional, short, human-readable summary of the problem type
        status:
          type: integer
          format: int32
          examples:
          - 404
          description: The HTTP status code for this occurrence of the problem
        detail:
          type: string
          examples:
          - Record not found
          description: A optional human-readable explanation specific to this occurrence of the problem
        instance:
          type: string
          format: uri
          examples:
          - https://api.example.com/errors/123
          description: A URI reference that identifies the specific occurrence of the problem
    DeliveryFailure:
      type: object
      description: A data structure representing a delivery failure
      properties:
        id:
          type: string
          format: uuid
          description: The delivery failure identifier
        request:
          $ref: '#/components/schemas/NotificationContent'
        response:
          type: string
          description: The failure response from the remote endpoint
        date:
          type: string
          format: date-time
          description: The date of the attempted message dispatch
    ReprocessRequest:
      type: object
      required:
      - action
      properties:
        action:
          type: string
          enum:
          - retry
          description: Action to perform on the failed notifications
    Dispatch:
      type: object
      required:
      - type
      - uri
      description: The configured dispatch mechanism for a subscription
      properties:
        type:
          type: string
          enum:
          - webhook
          description: Dispatch type
        uri:
          type: string
          format: uri
          description: URL of the associated webhook
        authentication:
          $ref: '#/components/schemas/DispatchAuthentication'
    Subscription:
      type: object
      required:
      - type
      - dispatch
      description: A data structure representing a user-defined subscription
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: The subscription identifier
        status:
          type: string
          readOnly: true
          description: The current status of the subscription
        deliveryFailures:
          type: string
          format: uri
          readOnly: true
          description: The URL where a client can retrieve notifications that the server failed to deliver
        jku:
          type: string
          format: uri
          readOnly: true
          description: The URL of the JWK Set used with message signatures
        purpose:
          type: string
          maxLength: 1024
          description: Purpose of the subscription
        type:
          type: array
          minItems: 1
          items:
            type: string
            enum:
            - AccessRequestPending
            - AccessRequestDenied
            - AccessGrantIssued
            - AccessGrantRevoked
            - AccessGrantExpired
            - ResourceCreated
            - ResourceUpdated
            - ResourceDeleted
            - ContainerCreated
            - ContainerUpdated
            - ContainerDeleted
          description: Event types associated with the subscription
        dataMinimization:
          type: object
          required:
          - retentionPeriod
          description: Data minimization definitions associated with the subscription
          properties:
            retentionPeriod:
              type: string
              format: duration
              examples:
              - P30D
              - P90D
              - PT12H
              - P1DT12H30M
              pattern: ^P[0-9]+D(?:T(?=[0-9])(?:[0-9]+H)?(?:[0-9]+M)?)$
              description: The data retention period for this message
        dispatch:
          $ref: '#/components/schemas/Dispatch'
        expiration:
          type: string
          format: date-time
          readOnly: true
          examples:
          - 2022-03-10 16:15:50+00:00
          description: The expiration date of the subscription
        storage:
          type: string
          format: uri
          description: The URL of the resource storage associated with the subscription
    NotificationContent:
      type: object
      description: The request data sent to a remote endpoint
      properties:
        id:
          type: string
          format: uuid
          description: The delivery request identifier
        type:
          type: string
          enum:
          - AccessRequestPending
          - AccessRequestDenied
          - AccessGrantIssued
          - AccessGrantRevoked
          - AccessGrantExpired
          - ResourceCreated
          - ResourceUpdated
          - ResourceDeleted
          - ContainerCreated
          - ContainerUpdated
          - ContainerDeleted
          description: The delivery request type
        audience:
          type: string
          format: uri
          description: The agent to whom the delivery request is directed
        resource:
          type: string
          format: uri
          description: The resource associated with the notification
        controller:
          type: string
          format: uri
          description: The controller or owner of the resource associated with the notification
        subscription:
          type: string
          format: uuid
          description: The subscription associated with the delivery request
        purpose:
          type: string
          maxLength: 1024
          description: The purpose of the associated subscription
        dataMinimization:
          type: object
          required:
          - retentionPeriod
          description: Data minimization definitions associated with the subscription
          properties:
            retentionPeriod:
              type: string
              format: duration
              examples:
              - P30D
              - P90D
              - PT12H
              - P1DT12H30M
              pattern: ^P[0-9]+D(?:T(?=[0-9])(?:[0-9]+H)?(?:[0-9]+M)?)$
              description: The data retention period for this message
        published:
          type: string
          format: date-time
          description: The date of the notification attempt
    DispatchAuthentication:
      type: object
      required:
      - type
      description: The authentication configuration for a dispatch mechanism
      properties:
        type:
          type: string
          enum:
          - mtls
          description: Authentication type used with the dispatch mechanism
        parameters:
          $ref: '#/components/schemas/AuthenticationParameters'
    AuthenticationParameters:
      type: object
      description: Parameters associated with the authentication mechanism
      properties:
        serverCertificate:
          type: string
          format: pem
          description: A PEM-formatted X.509 server certificate
    PageDeliveryFailure:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/DeliveryFailure'
  securitySchemes:
    SolidAuthentication:
      type: http
      scheme: bearer
      bearerFormat: JWT