Inrupt is the enterprise company founded by Sir Tim Berners-Lee and John Bruce to commercialize Solid, the open decentralized-data specification he created at MIT. Its flagship product is the Enterprise Solid Server (ESS), a Kubernetes-deployed platform of cooperating services that gives each person or organization a Pod — a personal data store with fine-grained access control, auditing, and W3C Verifiable-Credential-based Access Requests and Grants. ESS ships an Access Grant service, an Authorization service using Access Control Policies (ACP), a Pod Storage service implementing the Solid Protocol, a Notification Delivery service that pushes signed webhooks to remote HTTPS endpoints, a Platform Management service with a token-exchange and admin provisioning API, an optional hybrid keyword-plus-semantic Search service, and — since ESS 3.0 — an MCP Resource Service exposing consent-mediated tools to AI agents. Inrupt also runs PodSpaces, a hosted developer-preview deployment of ESS, and publishes first-party JavaScript and Java client SDKs.
Inrupt publishes 8 API contracts indexed on the APIs.io network, including Discovery API, Jsonkeys API, Subscription API, and 5 more. Tagged areas include Company, Solid, Personal Data Stores, Decentralized Identity, and Privacy.
The Inrupt catalog on APIs.io includes 1 event-driven AsyncAPI specification and 1 Spectral governance ruleset.
Inrupt’s developer surface includes documentation, API reference, getting-started guide, support, engineering blog, signup flow, changelog, and 37 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Payments regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/inrupt/"><img src="https://apis.io/badge/inrupt/card.svg" alt="Inrupt on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented) Ask about this →
Protected Resource Metadata+5 pts — a served /.well-known/oauth-protected-resource carrying `resource` (documented), and naming its authorization_servers (verified) Ask about this →
4 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Not sure how this applies to your stack? Ask about any one item. Kin Lane reads every question, looks at your profile and your situation, and replies with what a fix would take — scoped to that one area, priced up front, yours whether you ship it or not. Ask a question →
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted.
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
The ESS Pod Storage Service implements the Solid Protocol over HTTP — LDP-style container and resource CRUD in RDF (Turtle, JSON-LD) and binary form, with Access Control Policy ...
Inrupt's hosted Solid-OIDC identity provider for PodSpaces WebIDs. It publishes a standard OpenID Connect discovery document at /.well-known/openid-configuration advertising aut...
The ESS Access Grant Service issues, queries, verifies, derives and status-checks W3C Verifiable Credentials that carry Access Requests and Access Grants — the consent receipts ...
Added in ESS 3.0, the MCP Resource Service exposes four Model Context Protocol tools — requestAccess, checkAccessRequestStatus, hasMatchingAccessGrant and getResource — over str...
The Platform Management service hosts the ESS Admin API used to provision users before they first log in — creating a provisioning account, attaching a WebID and a storage conta...
Inrupt ships a first-party MCP server as an ESS service. The MCP Resource Service exposes four tools that let an AI agent ask a person for consent to their Pod data, watch for t...
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: inrupt
name: Inrupt
description: Inrupt is the enterprise company founded by Sir Tim Berners-Lee and John Bruce to commercialize Solid, the open
decentralized-data specification he created at MIT. Its flagship product is the Enterprise Solid Server (ESS), a Kubernetes-deployed
platform of cooperating services that gives each person or organization a Pod — a personal data store with fine-grained
access control, auditing, and W3C Verifiable-Credential-based Access Requests and Grants. ESS ships an Access Grant service,
an Authorization service using Access Control Policies (ACP), a Pod Storage service implementing the Solid Protocol, a Notification
Delivery service that pushes signed webhooks to remote HTTPS endpoints, a Platform Management service with a token-exchange
and admin provisioning API, an optional hybrid keyword-plus-semantic Search service, and — since ESS 3.0 — an MCP Resource
Service exposing consent-mediated tools to AI agents. Inrupt also runs PodSpaces, a hosted developer-preview deployment
of ESS, and publishes first-party JavaScript and Java client SDKs.
url: https://raw.githubusercontent.com/api-evangelist/inrupt/refs/heads/main/apis.yml
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
accessModel:
pricing: unknown
onboarding: unknown
trial: false
try_now: false
public: false
label: Unknown
confidence: low
probe_state: covered
source:
- authentication
- scopes
- rate-limits
- security
- sandbox
generated: '2026-11-13'
method: derived
image: https://kinlane-productions2.s3.amazonaws.com/apis-json/apis-json-logo.jpg
x-type: company
x-source: harvest:secondary-market
specificationVersion: '0.20'
created: '2026-08-23'
modified: '2026-10-06'
x-docs-platform: gitbook
x-docs-platform-confidence: high
x-docs-platform-checked: 2026-10-03
tags:
- Company
- Solid
- Personal Data Stores
- Decentralized Identity
- Privacy
- Access Control
- Verifiable Credentials
- Linked Data
- RDF
- Consent Management
- Data Wallets
- Agent Infrastructure
- MCP
- Enterprise Software
tags_raw:
- Company
- Solid
- Personal Data Stores
- Decentralized Identity
- Data Privacy
- Access Control
- Verifiable Credentials
- Linked Data
- RDF
- Consent Management
- Data Wallets
- Agent Infrastructure
- Model Context Protocol
- Enterprise Software
apis:
- aid: inrupt:pod-storage
name: Inrupt Pod Storage API (Solid Protocol)
description: The ESS Pod Storage Service implements the Solid Protocol over HTTP — LDP-style container and resource CRUD
in RDF (Turtle, JSON-LD) and binary form, with Access Control Policy (ACP) resources, canonical /sc/ and path-based /sp/
resource URIs, and a Data Views API that projects stored resources through registered GraphQL view definitions. On the
hosted PodSpaces deployment the storage host is https://storage.inrupt.com and its discovery document is served at /.well-known/solid.
humanURL: https://docs.inrupt.com/ess/services/service-pod-management/service-pod-storage
baseURL: https://storage.inrupt.com
tags:
- Storage
- Solid Protocol
- RDF
- Access Control
properties:
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-pod-management/service-pod-storage
- type: WellKnown
url: well-known/inrupt-well-known.yml
- aid: inrupt:solid-oidc
name: Inrupt Solid OpenID Provider
description: Inrupt's hosted Solid-OIDC identity provider for PodSpaces WebIDs. It publishes a standard OpenID Connect discovery
document at /.well-known/openid-configuration advertising authorization, token, userinfo, JWKS, dynamic client registration,
revocation and end-session endpoints, the openid / offline_access / webid scopes, and DPoP proof signing algorithms.
humanURL: https://docs.inrupt.com/guides/authentication-in-solid
baseURL: https://login.inrupt.com
tags:
- Authentication
- OpenID Connect
- Solid-OIDC
- DPoP
properties:
- type: OpenIDConnect
url: well-known/inrupt-openid-configuration.json
- type: Documentation
url: https://docs.inrupt.com/guides/authentication-in-solid
- type: Authentication
url: authentication/inrupt-authentication.yml
- type: OAuthScopes
url: scopes/inrupt-scopes.yml
- aid: inrupt:access-grant
name: Inrupt Access Grant Service (VC API)
description: The ESS Access Grant Service issues, queries, verifies, derives and status-checks W3C Verifiable Credentials
that carry Access Requests and Access Grants — the consent receipts that authorize one agent to read another agent's Pod
resources. The service publishes its endpoint map at /.well-known/vc-configuration; on PodSpaces that is https://vc.inrupt.com,
which advertises the /issue, /status, /verify, /derive and /query services and Ed25519Signature2020 proofs.
humanURL: https://docs.inrupt.com/ess/services/service-access-grant
baseURL: https://vc.inrupt.com
tags:
- Verifiable Credentials
- Consent
- Authorization
- Access Grants
properties:
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-access-grant
- type: WellKnown
url: well-known/inrupt-vc-configuration.json
- aid: inrupt:mcp-resource
name: Inrupt ESS MCP Resource Service
description: Added in ESS 3.0, the MCP Resource Service exposes four Model Context Protocol tools — requestAccess, checkAccessRequestStatus,
hasMatchingAccessGrant and getResource — over streamable HTTP, so an AI agent can ask a person for consent to their Pod
data, wait for the approval, and then read the granted resource. Every operation is scoped to the authenticated delegator,
so an agent can never exceed the current user's own access rights. The endpoint is per-deployment (https://mcp.{ess-domain}/api)
and is authenticated with an ESS Access Token obtained by OAuth 2.0 token exchange against the Platform Management service.
humanURL: https://docs.inrupt.com/ess/services/service-mcp/mcp-resource
baseURL: https://mcp.{ess-domain}/api
tags:
- MCP
- AI Agents
- Consent
- Access Grants
tags_raw:
- Model Context Protocol
- AI Agents
- Consent
- Access Grants
properties:
- type: MCPServer
url: mcp/inrupt-mcp.yml
- type: ToolCrosswalk
url: mcp/inrupt-tool-crosswalk.yml
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-mcp/mcp-resource
- aid: inrupt:platform-management
name: Inrupt ESS Platform Management API
description: The Platform Management service hosts the ESS Admin API used to provision users before they first log in —
creating a provisioning account, attaching a WebID and a storage container, setting identity mappings, then activating
the account and transferring ownership to the end user — plus self-service /user/account endpoints and the OAuth 2.0 token-exchange
endpoint (RFC 8693) that turns an external IdP id_token into an ESS Access Token. Access to the Admin API is restricted
to Service Accounts.
humanURL: https://docs.inrupt.com/ess/services/service-platform-management/platform-management-api
baseURL: https://platform.inrupt.com
tags:
- Provisioning
- Administration
- Token Exchange
- Identity
properties:
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-platform-management/platform-management-api
- aid: inrupt:inrupt-discovery-api
name: Inrupt Discovery API
description: WebSocket Discovery
humanURL: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
baseURL: https://notification.inrupt.com
tags:
- Discovery
tags_raw:
- discovery
properties:
- type: OpenAPI
url: openapi/inrupt-discovery-api-openapi.yml
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
- type: Webhooks
url: asyncapi/inrupt-notifications-webhooks.yml
- aid: inrupt:inrupt-jsonkeys-api
name: Inrupt Jsonkeys API
description: Public JSON Web Keys
humanURL: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
baseURL: https://notification.inrupt.com
tags:
- jsonkeys
properties:
- type: OpenAPI
url: openapi/inrupt-jsonkeys-api-openapi.yml
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
- type: Webhooks
url: asyncapi/inrupt-notifications-webhooks.yml
- aid: inrupt:inrupt-subscription-api
name: Inrupt Subscription API
description: Subscription Management
humanURL: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
baseURL: https://notification.inrupt.com
tags:
- Subscription
tags_raw:
- subscription
properties:
- type: OpenAPI
url: openapi/inrupt-subscription-api-openapi.yml
- type: Documentation
url: https://docs.inrupt.com/ess/services/service-notification/notification-delivery-service
- type: Webhooks
url: asyncapi/inrupt-notifications-webhooks.yml
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
common:
- url: https://www.inrupt.com/blog/rss.xml
type: BlogRSS
- type: Website
url: https://www.inrupt.com/
- type: DeveloperPortal
url: https://docs.inrupt.com/
- type: Documentation
url: https://docs.inrupt.com/
- type: APIReference
url: https://docs.inrupt.com/ess/services/
- type: GettingStarted
url: https://docs.inrupt.com/sdk/javascript-sdk/tutorial/
- type: Support
url: https://inrupt.atlassian.net/servicedesk
- type: Blog
url: https://www.inrupt.com/blog
- type: GitHubOrganization
url: https://github.com/inrupt
- type: SignUp
url: https://start.inrupt.com/
- type: TermsOfService
url: https://www.inrupt.com/terms-conditions
- type: PrivacyPolicy
url: https://www.inrupt.com/privacy-policy
- type: StatusPage
url: https://status.inrupt.com/
- type: Deprecation
url: https://www.inrupt.com/maintenance-policy
- type: Security
url: https://www.inrupt.com/security
- type: TrustCenter
url: https://www.inrupt.com/trust
- type: Compliance
url: conformance/inrupt-conformance.yml
- type: LLMsTxt
url: llms/inrupt-llms.txt
- type: Packages
url: packages/inrupt-packages.yml
- type: SDKs
url: packages/inrupt-packages.yml
- type: WellKnown
url: well-known/inrupt-well-known.yml
- type: MCPServer
url: mcp/inrupt-mcp.yml
- type: ToolCrosswalk
url: mcp/inrupt-tool-crosswalk.yml
- type: AgentSkill
url: skills/_index.yml
- type: Conformance
url: conformance/inrupt-conformance.yml
- type: ErrorCatalog
url: errors/inrupt-problem-types.yml
- type: Lifecycle
url: lifecycle/inrupt-lifecycle.yml
- type: ChangeLog
url: changelog/inrupt-changelog.yml
- type: OAuthScopes
url: scopes/inrupt-scopes.yml
- type: Authentication
url: authentication/inrupt-authentication.yml
- type: DomainSecurity
url: security/inrupt-domain-security.yml
- type: VulnerabilityDisclosure
url: security/inrupt-vulnerability-disclosure.yml
- type: Sandbox
url: sandbox/inrupt-sandbox.yml
- type: Conventions
url: conventions/inrupt-conventions.yml
- type: DataModel
url: data-model/inrupt-data-model.yml
- type: Webhooks
url: asyncapi/inrupt-notifications-webhooks.yml
- type: Plans
url: plans/inrupt-plans-pricing.yml
- type: RateLimits
url: rate-limits/inrupt-rate-limits.yml
- type: Overlay
url: overlays/inrupt-notification-overlay.yaml
- type: UsageTerms
url: terms/inrupt-terms-of-service.yml
- type: DataProcessing
url: privacy/inrupt-privacy-policy.yml
- type: DeprecationSchedule
url: deprecation/inrupt-deprecation-policy.yml
- type: Eligibility
url: eligibility/inrupt-eligibility.yml
- type: DataLicense
url: data-license/inrupt-data-license.yml
x-enrichment:
date: '2026-08-23'
status: enriched
artifacts_added: 28
pass: local-v1
x-coverage:
state: covered
reason: contract-discovered
detail: STEP 0b paid off. The docs host and the marketing host return 404 for every /openapi path, but the ESS Notification
Delivery Service serves its own OpenAPI 3.1.0 ("Inrupt Change Notifications", v2.7.1, 14 operations) at https://notification.inrupt.com/openapi.yaml
- a location named only in one paragraph of the service reference. The remaining ESS services (Access Grant, Pod Storage,
Platform Management, Search) publish endpoint tables in prose and RDF/JSON discovery documents but no OpenAPI.
evidence:
- url: https://notification.inrupt.com/openapi.yaml
status: 200
- url: https://docs.inrupt.com/llms.txt
status: 200
- url: https://login.inrupt.com/.well-known/openid-configuration
status: 200
- url: https://storage.inrupt.com/.well-known/solid
status: 200
- url: https://vc.inrupt.com/.well-known/vc-configuration
status: 200
- url: https://docs.inrupt.com/openapi.json
status: 404
checked: '2026-08-23'
Inrupt API — frequently asked questions
Does Inrupt have an API?
Yes. APIs.io lists 8 APIs from Inrupt, including Inrupt Pod Storage API (Solid Protocol), Inrupt Solid OpenID Provider and Inrupt Access Grant Service (VC API), and 5 more.
Is there an OpenAPI specification for the Inrupt API?
Yes. APIs.io indexes 3 OpenAPI specifications for Inrupt, each linked for download from this page.
How do I authenticate with the Inrupt API?
Inrupt documents its authentication (openIdConnect/oauth2/http/mutualTLS · 7 schemes). The details are profiled on APIs.io as Inrupt Authentication.
Does Inrupt have an MCP server?
Yes. APIs.io lists 1 MCP server for Inrupt: Inrupt ships a first-party MCP server as an ESS service. The MCP Resource Service exposes four tools that let an AI agent ask a person for consent to their Pod data, watch for the approval, verify the
Is the Inrupt API ready for AI agents?
Inrupt has a Kin Score of 64.3 out of 100 (strong) and an Agent Readiness score of 49.6 (agent-ready), scored by API Evangelist on 2026-11-13.
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.