Skip to content

Portal Users

A PortalUser is an account for a person signing in to the portal, as opposed to an API key, which authenticates a machine. Portal users belong to a Customer; create as many as you need to give people in your organisation access.

A portal user is created by POSTing an object with email and password to the customer’s portalUsers collection. The platform mints a GUID as the resource identifier.

{
"@context": "https://api.dlcs.example/contexts/PortalUser.jsonld",
"@id": "https://api.dlcs.example/customers/2/portalUsers/5a8abee2-6bd6-4a4d-b586-1e2ea1f61e01",
"@type": "vocab:PortalUser",
"email": "user@example.com",
"created": "2026-03-14T09:00:00.0000000Z",
"enabled": true
}

/customers/{customer}/portalUsers

MethodLabelExpectsReturnsStatus
GETRetrieves all portal users-🔗 hydra:Collection (of vocab:PortalUser)200 OK
POSTCreates a new portal uservocab:PortalUservocab:PortalUser201 Created, 400 Bad Request
POST /customers/2/portalUsers
{
"email": "user@example.com",
"password": "plaintext-password"
}

POSTing an email address that is already used by one of your portal users returns 400 Bad Request.

/customers/{customer}/portalUsers/{portalUser}

MethodLabelExpectsReturnsStatus
GETRetrieve a portal user-vocab:PortalUser200 OK, 404 Not Found
PATCHUpdate a portal uservocab:PortalUservocab:PortalUser200 OK, 400 Bad Request
DELETEDelete a portal user--204 No Content, 400 Bad Request

The email address the user signs in with. Unique among your portal users.

domainrangereadonlywriteonly
vocab:PortalUserxsd:stringFalseFalse

The password, supplied when creating or updating a portal user. It is never returned by the API.

domainrangereadonlywriteonly
vocab:PortalUserxsd:stringFalseTrue

When this portal user was created.

domainrangereadonlywriteonly
vocab:PortalUserxsd:dateTimeTrueFalse

Whether the user can log in. Set to true on creation; cannot currently be changed via the API.

domainrangereadonlywriteonly
vocab:PortalUserxsd:booleanTrueFalse