Skip to main content

HTTP API

Pod Management

Create Pod

POST /.pods
Content-Type: application/json

{"name": "alice"}

Response:

{
"name": "alice",
"webId": "http://localhost:3000/alice/#me",
"podUri": "http://localhost:3000/alice/",
"token": "..."
}

With IdP enabled:

{"name": "alice", "email": "alice@example.com", "password": "secret"}

Resource Operations

GET

GET /alice/public/data.json
Accept: application/ld+json

PUT

PUT /alice/public/data.json
Authorization: Bearer TOKEN
Content-Type: application/ld+json

{"@id": "#item", "http://schema.org/name": "Value"}

POST

POST /alice/public/
Authorization: Bearer TOKEN
Content-Type: application/ld+json
Slug: new-resource

{"@id": "#item"}

DELETE

DELETE /alice/public/data.json
Authorization: Bearer TOKEN

PATCH

PATCH /alice/public/data.json
Authorization: Bearer TOKEN
Content-Type: text/n3

@prefix solid: <http://www.w3.org/ns/solid/terms#>.
_:p a solid:InsertDeletePatch;
solid:inserts { <#x> <#y> <#z> }.

Headers

Request Headers

HeaderDescription
AuthorizationBearer TOKEN or DPoP TOKEN
Content-TypeResource MIME type
AcceptRequested response format
If-MatchETag for conditional update
If-None-MatchETag for conditional create
SlugSuggested resource name for POST

Response Headers

HeaderDescription
ETagResource version
LinkLDP type links
Updates-ViaWebSocket notification URL
WAC-AllowPermitted operations