# API reference

Canonical page: https://docs.ovok.com/java-sdk/reference

Java client for the Ovok API.

Build an [`OvokConfig`](/java-sdk/reference/ovok-config), pass it to [`Ovok`](/java-sdk/reference/ovok), and call the namespaces it exposes, such as `ovok.fhir()` or `ovok.slim()`. Calls return Jackson `JsonNode` bodies or a [`Page`](/java-sdk/reference/page) of them. Failures are thrown as [`OvokException`](/java-sdk/reference/ovok-exception) subclasses, one per HTTP status class.

## Classes [#classes]

- [`AccountsResource`](/java-sdk/reference/accounts-resource): Lists Ovok accounts.
- [`AiResource`](/java-sdk/reference/ai-resource): Calls the Ovok AI routes under `/ai`.
- [`AlarmsResource`](/java-sdk/reference/alarms-resource): Reads and acknowledges device alarm notifications.
- [`AuthResource`](/java-sdk/reference/auth-resource): Signs users in and out and manages their account.
- [`AuthSessionsResource`](/java-sdk/reference/auth-sessions-resource): Lists and revokes the signed-in user's sessions.
- [`BotsResource`](/java-sdk/reference/bots-resource): Runs Ovok bots.
- [`ChangeHistoryResource`](/java-sdk/reference/change-history-resource): Reads the change history.
- [`ChildProjectsResource`](/java-sdk/reference/child-projects-resource): Manages child projects of the current project.
- [`CmsResource`](/java-sdk/reference/cms-resource): Reads published CMS content for the configured tenant.
- [`ConsentResource`](/java-sdk/reference/consent-resource): Reads and records the signed-in user's consents and requests consent signatures.
- [`ContentResource`](/java-sdk/reference/content-resource): Manages localized content entries in the project's CMS.
- [`DevicesResource`](/java-sdk/reference/devices-resource): Manages Slim devices, their live rows and telemetry.
- [`DocumentsResource`](/java-sdk/reference/documents-resource): Lists, uploads and links to the project's documents.
- [`EmailResource`](/java-sdk/reference/email-resource): Reads project email settings.
- [`ExportsResource`](/java-sdk/reference/exports-resource): Exports patient data.
- [`FhirResource`](/java-sdk/reference/fhir-resource): Reads and writes FHIR R4 resources under the configured FHIR path.
- [`HealthResource`](/java-sdk/reference/health-resource): Checks API health.
- [`InvitesResource`](/java-sdk/reference/invites-resource): Creates and accepts invites.
- [`LocalesResource`](/java-sdk/reference/locales-resource): Reads and changes the project locales.
- [`LocalizationsResource`](/java-sdk/reference/localizations-resource): Manages localization strings.
- [`LocationsResource`](/java-sdk/reference/locations-resource): Manages locations through the slim API.
- [`LoginCredentials`](/java-sdk/reference/login-credentials): Email and password for [`AuthResource.login(LoginCredentials)`](/java-sdk/reference/auth-resource#login).
- [`LoginResult`](/java-sdk/reference/login-result): Result of a sign-in.
- [`MeasurementsResource`](/java-sdk/reference/measurements-resource): Builds, saves and reads measurement Observations.
- [`MedicalNotificationsResource`](/java-sdk/reference/medical-notifications-resource): Reads and acknowledges medical notification episodes.
- [`MemoryStorage`](/java-sdk/reference/memory-storage): In-memory [`OvokStorage`](/java-sdk/reference/ovok-storage); the session is lost when the process exits.
- [`MfaChallenge`](/java-sdk/reference/mfa-challenge): Pending MFA sign-in, answered with [`AuthResource.verifyMfa(MfaChallenge, String)`](/java-sdk/reference/auth-resource#verifymfa).
- [`NotificationNotesResource`](/java-sdk/reference/notification-notes-resource): Manages notes on notifications.
- [`NotificationsResource`](/java-sdk/reference/notifications-resource): Reads Slim notifications and groups the alarm, out-of-bed, medical and note routes.
- [`OrganizationsResource`](/java-sdk/reference/organizations-resource): Manages organizations through the slim API.
- [`OutOfBedResource`](/java-sdk/reference/out-of-bed-resource): Reads out-of-bed notifications.
- [`Ovok`](/java-sdk/reference/ovok): Entry point of the Ovok SDK; exposes one resource per API namespace.
- [`OvokApiException`](/java-sdk/reference/ovok-api-exception): Thrown when the Ovok API answers with a non-2xx status that has no more specific subclass.
- [`OvokAuthenticationException`](/java-sdk/reference/ovok-authentication-exception): Thrown for HTTP 401: missing or invalid credentials.
- [`OvokClient`](/java-sdk/reference/ovok-client): Minimal FHIR reader that uses a fixed access token.
- [`OvokConfig`](/java-sdk/reference/ovok-config): Settings for an [`Ovok`](/java-sdk/reference/ovok) client; build one with [`builder()`](/java-sdk/reference/ovok-config#builder).
- [`OvokConfigException`](/java-sdk/reference/ovok-config-exception): Thrown when the SDK configuration or a call's inputs are invalid before any request is sent.
- [`OvokConflictException`](/java-sdk/reference/ovok-conflict-exception): Thrown for HTTP 409: the request conflicts with the current state.
- [`OvokConnectionException`](/java-sdk/reference/ovok-connection-exception): Thrown when the SDK cannot reach the Ovok API or a paged read is interrupted.
- [`OvokException`](/java-sdk/reference/ovok-exception): Base class of every exception the SDK throws; carries the API's error details when there is a response.
- [`OvokNotFoundException`](/java-sdk/reference/ovok-not-found-exception): Thrown for HTTP 404: the resource does not exist.
- [`OvokPermissionException`](/java-sdk/reference/ovok-permission-exception): Thrown for HTTP 403: signed in but not allowed.
- [`OvokRateLimitException`](/java-sdk/reference/ovok-rate-limit-exception): Thrown for HTTP 429: rate limited; see [`retryAfter()`](/java-sdk/reference/ovok-exception#retryafter).
- [`OvokServiceException`](/java-sdk/reference/ovok-service-exception): Thrown for HTTP 5xx: the Ovok API failed.
- [`OvokStorage`](/java-sdk/reference/ovok-storage): Key-value store that keeps the signed-in session between runs.
- [`OvokValidationException`](/java-sdk/reference/ovok-validation-exception): Thrown for HTTP 400 and 422, and when the SDK rejects an invalid argument.
- [`Page`](/java-sdk/reference/page): One page of results that can iterate through every later page.
- [`PatientResource`](/java-sdk/reference/patient-resource): Reads and writes the signed-in patient's FHIR records.
- [`PatientThresholdsResource`](/java-sdk/reference/patient-thresholds-resource): Reads and sets one patient's vital thresholds.
- [`PatientsResource`](/java-sdk/reference/patients-resource): Manages Slim patients.
- [`PoliciesResource`](/java-sdk/reference/policies-resource): Manages access policies through the slim API.
- [`PractitionersResource`](/java-sdk/reference/practitioners-resource): Invites practitioners.
- [`ProfileType`](/java-sdk/reference/profile-type): FHIR profile type a user signs in as.
- [`ProjectsResource`](/java-sdk/reference/projects-resource): Lists projects and manages the current project's members, features and settings.
- [`QuestionnaireResponsesResource`](/java-sdk/reference/questionnaire-responses-resource): Submits QuestionnaireResponses and extracts data from them.
- [`QuestionnairesResource`](/java-sdk/reference/questionnaires-resource): Runs FHIR Questionnaire operations.
- [`RegisterResult`](/java-sdk/reference/register-result): Result of [`AuthResource.register(Map)`](/java-sdk/reference/auth-resource#register).
- [`RequestOptions`](/java-sdk/reference/request-options): Per-request options.
- [`SaveObservationsOptions`](/java-sdk/reference/save-observations-options): Options for saving observations through [`MeasurementsResource`](/java-sdk/reference/measurements-resource).
- [`Session`](/java-sdk/reference/session): Signed-in user session.
- [`SharingResource`](/java-sdk/reference/sharing-resource): Shares patient records through invites.
- [`SignalsResource`](/java-sdk/reference/signals-resource): Enables Signals for patients and repairs undeliverable Signals config.
- [`SleepResource`](/java-sdk/reference/sleep-resource): Reads sleep statistics.
- [`SlimProjectsResource`](/java-sdk/reference/slim-projects-resource): Reads and updates Slim projects and their users.
- [`SlimResource`](/java-sdk/reference/slim-resource): Groups the Slim care-home routes (`/v1/slim`) by resource.
- [`ThresholdsResource`](/java-sdk/reference/thresholds-resource): Reads and sets the project vital thresholds.
- [`TrendsResource`](/java-sdk/reference/trends-resource): Reads vital trend graphs.
- [`UnauthenticatedReason`](/java-sdk/reference/unauthenticated-reason): Why the SDK signed the user out; passed to [`OvokConfig.Builder.onUnauthenticated(Consumer)`](/java-sdk/reference/ovok-config#builderonunauthenticated).
- [`UsersResource`](/java-sdk/reference/users-resource): Deletes users.
- [`VideoCallsResource`](/java-sdk/reference/video-calls-resource): Runs LiveKit video calls under `/video-call/livekit`.
- [`WearablesResource`](/java-sdk/reference/wearables-resource): Manages wearable providers and connections under `/v1/wearables`.
- [`ZonesResource`](/java-sdk/reference/zones-resource): Reads zones.
