Skip to content

API Reference

The EaseLab REST API powers the tenant portal, admin portal, public patient portal, and analyzer integrations. All endpoints return JSON unless noted otherwise.

Base URL

Your EaseLab operator provides the production API base URL for integrations (for example, analyzer middleware). Contact EaseLab support for the exact endpoint and credentials for your lab.

API surface areas

PrefixAudienceAuthDocumentation
/authAll usersPublic / cookieAuthentication
/lab/pmsLab staffJWTPMS Endpoints
/lab/adminLab adminsJWT + permissionsAdmin Endpoints
/lab/analyzersLab adminsJWTAnalyzers
/integrations/v1Analyzer devicesAPI key headerAnalyzer Integration
/publicPatientsNone (rate-limited)Public API
/adminPlatform operatorsJWT (platform)Admin Endpoints
/billingTenantsJWTBilling
/tenantTenant ownersJWTTenant backup routes

Response envelope

Lab routes (/lab/*) use a standard envelope:

json
{
  "requestId": "abc-123",
  "timeStampUtc": "2026-06-26T10:00:00Z",
  "success": true,
  "exception": false,
  "message": "Invoice retrieved successfully.",
  "data": { }
}

List responses add totalCount and list fields. Auth and admin routes may return simpler { message } objects — see Error Codes.

Authentication

MethodHeader / Cookie
Bearer tokenAuthorization: Bearer <access_token>
RefreshHTTP-only cookie refresh_token

Access tokens expire in 15 minutes. Refresh before expiry via POST /auth/refresh.

Pagination

List endpoints accept query parameters:

ParameterDefaultMax
page1
pageSize20100
searchCase-insensitive, typo-tolerant
sortByvaries
sortDirectiondescasc or desc

Rate limiting

Applied to authentication and public endpoints. Exceeded limits return HTTP 429.

Versioning

The API is currently unversioned except for analyzer integration (/integrations/v1). Breaking changes will be communicated via release notes.

Ease Lab — Cloud Pathology Lab Management