Manage users via the /v1/domain/{domain}/user endpoint.

Prerequisites:

GET /v1/domain/{domain}/user

Lists the users registered under the specified domain.

This endpoint does not include all properties of the users. Endpoint is designed for search purposes. To get the full user details, invoke the /v1/domain/{domain}/user/{sub} endpoint.

User list includes:

  • Federated users
  • Local users
curl -X 'GET' \
  'https://api.entrypage.io/v1/domain/your-domain-here?search=username-or-emailaddress&limit=100&offset=0' \
  -H 'accept: text/plain' \
  -H 'x-api-key: your-api-key-here'
Parameters
ParameterDescriptionRequirements
searchThe username or email address to look for.Optional; string, maximum 256 characters.
offsetA numeric value indicating what record to start withOptional; int.
limit bThe number of records to returnOptional; int, maximum 100.

Responses: Response: 200 - OK

{
  "sub": "string",
  "active": true,
  "referredUsername": "string",
  "email": "string"
}

Response: 400 - Bad Request

Response: 401 - Unauthorized

POST /v1/domain/{domain}/user

Provision a new local user intended for passwordless authentication only. Users created via this endpoint cannot authenticate with a password, but can sign in using one or more of the following methods:

  • WebAuthn (e.g., Touch ID, Windows Hello, FIDO2 keys)
  • TOTP (Time-based One-Time Passwords, such as from authenticator apps)
  • Magic Links (via email or SMS)

A successful request returns the unique subject-id (sub) of the newly created user.

curl -X 'POST' \
  'https://api.entrypage.io/v1/domain/your-domain-here/user' \
  -H 'accept: text/plain' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: your-api-key-here' \
  -d '{
  "preferredUsername": "johndoe@yourdomain.com",
  "name": "John Doe"
}'
Parameters
ParameterDescriptionRequirements
preferredUsernameThe account’s usernameRequired; string, minimum 10 characters.
nameThe user’s full nameRequired; string, minimum 1 characters.
Responses

Response: 200 - OK

{
  "sub": "string"
}

Response: 401 - Unauthorized

Response: 409 - Conflict (Username taken.)

POST /domain/{domain}/user/{sub}/magiclink

Create a magic link for a user to authenticate with.

Read how magic links work.

curl -X 'POST' \
  'https://api.entrypage.io/v1/domain/your-domain-here/user/example-sub/magiclink' \
  -H 'accept: text/plain' \
  -H 'x-api-key: your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{
  "redirectUri": "string"
}'
Parameters
ParameterDescriptionRequirements
redirectUriWhere to redirect user to after succesfull authenticationRequired; uri, starts with https://, no querystring, no fragment.
Responses

Response: 201 - Created

{
  "uri": "string"
}

Response: 400 - Bad Request

Response: 401 - Unauthorized

API Documentation (Swagger)

The Entrypage API is hosted at api.entrypage.io, offering documentation to help you get started quickly:

Swagger UI:

Use our interactive interface to browse endpoints, understand parameters, and even make live API calls directly from your browser.

OpenAPI Specification:

Download the latest up-to-date OpenAPI Spec (formerly Swagger Spec) for full programmatic access and integration with your development tools.