From 5b7ca85348cdc8918c50f674be4aab3f3fccce57 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 02:59:40 +0000 Subject: [PATCH] feat: remove InputStream overloads and add new lab test fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove four overloaded methods for parserCreateJob that accepted InputStream parameters in favor of File-based methods. Add new optional fields to lab test creation and filtering including labAccountId, labSlug, and grantedPermissions for manual connections. Key changes: - Remove InputStream-based parserCreateJob methods (4 overloads) - Add labAccountId and labSlug fields to CreateLabTestRequest - Add labSlug parameter to LabTestsGetMarkersRequest - Change lab parameter type from String to AppointmentPscLabs enum - Add grantedPermissions field to ManualConnectionData - Add vitalIosSdkVersion and vitalAndroidSdkVersion to ManualConnectionData đŋ Generated with Fern --- .fern/metadata.json | 7 +- .fernignore | 1 + build.gradle | 4 +- changelog.md | 36 ++ reference.md | 305 +++++++++- src/main/java/com/vital/api/AsyncVital.java | 16 + .../java/com/vital/api/AsyncVitalBuilder.java | 24 + src/main/java/com/vital/api/Vital.java | 16 + src/main/java/com/vital/api/VitalBuilder.java | 24 + .../com/vital/api/core/ClientOptions.java | 36 +- .../com/vital/api/core/ConsoleLogger.java | 51 ++ src/main/java/com/vital/api/core/ILogger.java | 38 ++ .../java/com/vital/api/core/LogConfig.java | 98 ++++ .../java/com/vital/api/core/LogLevel.java | 36 ++ src/main/java/com/vital/api/core/Logger.java | 97 ++++ .../vital/api/core/LoggingInterceptor.java | 104 ++++ .../java/com/vital/api/core/SseEvent.java | 114 ++++ .../com/vital/api/core/SseEventParser.java | 228 ++++++++ src/main/java/com/vital/api/core/Stream.java | 221 ++++++- .../activity/AsyncRawActivityClient.java | 8 +- .../resources/activity/RawActivityClient.java | 8 +- .../requests/ActivityGetRawRequest.java | 16 + .../activity/requests/ActivityGetRequest.java | 16 + .../aggregate/AsyncRawAggregateClient.java | 12 +- .../aggregate/RawAggregateClient.java | 12 +- ...tTaskHistoryForContinuousQueryRequest.java | 10 + .../aggregate/requests/QueryBatch.java | 16 + .../resources/body/AsyncRawBodyClient.java | 8 +- .../api/resources/body/RawBodyClient.java | 8 +- .../body/requests/BodyGetRawRequest.java | 16 + .../body/requests/BodyGetRequest.java | 16 + .../compendium/AsyncCompendiumClient.java | 48 ++ .../compendium/AsyncRawCompendiumClient.java | 191 ++++++ .../compendium/CompendiumClient.java | 45 ++ .../compendium/RawCompendiumClient.java | 156 +++++ .../requests/ConvertCompendiumBody.java | 245 ++++++++ .../requests/SearchCompendiumBody.java | 308 ++++++++++ .../types/CompendiumConvertRequestTeamId.java | 22 + .../types/CompendiumSearchRequestTeamId.java | 22 + .../devices/AsyncRawDevicesClient.java | 4 +- .../resources/devices/RawDevicesClient.java | 4 +- .../requests/DevicesGetRawRequest.java | 10 + .../AsyncRawElectrocardiogramClient.java | 4 +- .../RawElectrocardiogramClient.java | 4 +- .../requests/ElectrocardiogramGetRequest.java | 16 + .../insurance/AsyncRawInsuranceClient.java | 12 +- .../insurance/RawInsuranceClient.java | 12 +- .../InsuranceSearchDiagnosisRequest.java | 16 + .../InsuranceSearchGetPayorInfoRequest.java | 10 + .../requests/PayorSearchRequest.java | 10 + .../introspect/AsyncRawIntrospectClient.java | 8 +- .../introspect/RawIntrospectClient.java | 8 +- ...trospectGetUserHistoricalPullsRequest.java | 10 + .../IntrospectGetUserResourcesRequest.java | 10 + .../labaccount/AsyncLabAccountClient.java | 46 ++ .../labaccount/AsyncRawLabAccountClient.java | 118 ++++ .../labaccount/LabAccountClient.java | 44 ++ .../labaccount/RawLabAccountClient.java | 97 ++++ .../LabAccountGetTeamLabAccountsRequest.java | 132 +++++ .../labreport/AsyncLabReportClient.java | 26 +- .../labreport/AsyncRawLabReportClient.java | 241 +------- .../resources/labreport/LabReportClient.java | 25 +- .../labreport/RawLabReportClient.java | 180 +----- .../BodyCreateLabReportParserJob.java | 16 + .../labtests/AsyncRawLabTestsClient.java | 174 +++--- .../resources/labtests/RawLabTestsClient.java | 174 +++--- ...OrdersHelpersAppointmentCancelRequest.java | 16 + .../requests/CreateLabTestRequest.java | 99 +++- .../CreateOrderRequestCompatible.java | 48 ++ .../labtests/requests/ImportOrderBody.java | 16 + .../LabTestsBookPscAppointmentRequest.java | 16 + .../requests/LabTestsGetAreaInfoRequest.java | 16 + .../requests/LabTestsGetByIdRequest.java | 10 + .../requests/LabTestsGetLabelsPdfRequest.java | 16 + ...tsGetMarkersByLabAndProviderIdRequest.java | 10 + .../LabTestsGetMarkersForLabTestRequest.java | 10 + .../LabTestsGetMarkersForOrderSetRequest.java | 16 + .../requests/LabTestsGetMarkersRequest.java | 45 +- .../LabTestsGetOrderPscInfoRequest.java | 10 + .../requests/LabTestsGetOrdersRequest.java | 10 + .../requests/LabTestsGetPaginatedRequest.java | 10 + ...ebotomyAppointmentAvailabilityRequest.java | 16 + ...sGetPscAppointmentAvailabilityRequest.java | 29 +- .../requests/LabTestsGetPscInfoRequest.java | 16 + .../labtests/requests/LabTestsGetRequest.java | 10 + .../LabTestsSimulateOrderProcessRequest.java | 10 + .../requests/RequestAppointmentRequest.java | 16 + .../requests/UpdateLabTestRequest.java | 10 + .../requests/ValidateIcdCodesBody.java | 10 + ...GetlabsSchemaAppointmentCancelRequest.java | 16 + .../resources/link/AsyncRawLinkClient.java | 95 +-- .../api/resources/link/RawLinkClient.java | 95 +-- .../link/requests/BeginLinkTokenRequest.java | 16 + .../requests/BulkExportConnectionsBody.java | 16 + .../requests/BulkImportConnectionsBody.java | 16 + .../requests/BulkPauseConnectionsBody.java | 16 + .../BulkTriggerHistoricalPullBody.java | 16 + .../CompletePasswordProviderMfaBody.java | 16 + .../DemoConnectionCreationPayload.java | 16 + .../link/requests/EmailAuthLink.java | 16 + .../link/requests/EmailProviderAuthLink.java | 16 + .../link/requests/IndividualProviderData.java | 16 + .../link/requests/LinkCodeCreateRequest.java | 16 + .../LinkGenerateOauthLinkRequest.java | 10 + .../requests/LinkGetAllProvidersRequest.java | 10 + .../link/requests/LinkListBulkOpsRequest.java | 10 + .../link/requests/LinkTokenExchange.java | 16 + .../link/requests/LinkTokenStateRequest.java | 10 + .../requests/LinkTokenValidationRequest.java | 16 + .../link/requests/ManualConnectionData.java | 129 ++++- .../link/requests/PasswordAuthLink.java | 16 + .../resources/meal/AsyncRawMealClient.java | 4 +- .../api/resources/meal/RawMealClient.java | 4 +- .../meal/requests/MealGetRequest.java | 16 + .../AsyncRawMenstrualCycleClient.java | 4 +- .../RawMenstrualCycleClient.java | 4 +- .../requests/MenstrualCycleGetRequest.java | 16 + .../resources/order/AsyncRawOrderClient.java | 4 +- .../api/resources/order/RawOrderClient.java | 4 +- .../order/requests/ResendWebhookBody.java | 10 + .../AsyncRawOrderTransactionClient.java | 12 +- .../RawOrderTransactionClient.java | 12 +- .../resources/payor/AsyncRawPayorClient.java | 4 +- .../api/resources/payor/RawPayorClient.java | 4 +- .../payor/requests/CreatePayorBody.java | 16 + .../profile/AsyncRawProfileClient.java | 8 +- .../resources/profile/RawProfileClient.java | 8 +- .../requests/ProfileGetRawRequest.java | 10 + .../profile/requests/ProfileGetRequest.java | 10 + .../providers/AsyncRawProvidersClient.java | 4 +- .../providers/RawProvidersClient.java | 4 +- .../requests/ProvidersGetAllRequest.java | 10 + .../resources/sleep/AsyncRawSleepClient.java | 12 +- .../api/resources/sleep/RawSleepClient.java | 12 +- .../sleep/requests/SleepGetRawRequest.java | 16 + .../sleep/requests/SleepGetRequest.java | 16 + .../sleepcycle/AsyncRawSleepCycleClient.java | 4 +- .../sleepcycle/RawSleepCycleClient.java | 4 +- .../requests/SleepCycleGetRequest.java | 16 + .../resources/team/AsyncRawTeamClient.java | 31 +- .../api/resources/team/RawTeamClient.java | 31 +- .../requests/TeamGetLinkConfigRequest.java | 10 + .../TeamGetSourcePrioritiesRequest.java | 10 + .../team/requests/TeamGetUserByIdRequest.java | 10 + .../testkit/AsyncRawTestkitClient.java | 8 +- .../resources/testkit/RawTestkitClient.java | 8 +- .../CreateRegistrableTestkitOrderRequest.java | 16 + .../requests/RegisterTestkitRequest.java | 16 + .../resources/user/AsyncRawUserClient.java | 76 +-- .../api/resources/user/RawUserClient.java | 76 +-- .../user/requests/CreateInsuranceRequest.java | 16 + .../requests/CreateUserPortalUrlBody.java | 16 + .../user/requests/UserCreateBody.java | 16 + .../user/requests/UserGetAllRequest.java | 10 + .../UserGetLatestInsuranceRequest.java | 10 + .../user/requests/UserInfoCreateRequest.java | 16 + .../user/requests/UserPatchBody.java | 10 + .../user/requests/UserRefreshRequest.java | 10 + .../user/requests/UserUndoDeleteRequest.java | 10 + .../vitals/AsyncRawVitalsClient.java | 312 +++++----- .../api/resources/vitals/RawVitalsClient.java | 312 +++++----- .../VitalsAfibBurdenGroupedRequest.java | 16 + ...alsBasalBodyTemperatureGroupedRequest.java | 16 + .../VitalsBloodOxygenGroupedRequest.java | 16 + .../requests/VitalsBloodOxygenRequest.java | 16 + .../VitalsBloodPressureGroupedRequest.java | 16 + .../requests/VitalsBloodPressureRequest.java | 16 + .../requests/VitalsBodyFatGroupedRequest.java | 16 + .../vitals/requests/VitalsBodyFatRequest.java | 16 + .../VitalsBodyMassIndexGroupedRequest.java | 16 + ...alsBodyTemperatureDeltaGroupedRequest.java | 16 + .../VitalsBodyTemperatureGroupedRequest.java | 16 + .../VitalsBodyWeightGroupedRequest.java | 16 + .../requests/VitalsBodyWeightRequest.java | 16 + .../VitalsCaffeineGroupedRequest.java | 16 + .../requests/VitalsCaffeineRequest.java | 16 + .../VitalsCaloriesActiveGroupedRequest.java | 16 + .../requests/VitalsCaloriesActiveRequest.java | 16 + .../VitalsCaloriesBasalGroupedRequest.java | 16 + .../requests/VitalsCaloriesBasalRequest.java | 16 + .../VitalsCarbohydratesGroupedRequest.java | 16 + .../VitalsCholesterolGroupedRequest.java | 16 + .../requests/VitalsCholesterolHdlRequest.java | 16 + .../requests/VitalsCholesterolLdlRequest.java | 16 + .../requests/VitalsCholesterolRequest.java | 16 + .../VitalsCholesterolTotalRequest.java | 16 + ...VitalsCholesterolTriglyceridesRequest.java | 16 + .../VitalsDaylightExposureGroupedRequest.java | 16 + .../VitalsDistanceGroupedRequest.java | 16 + .../requests/VitalsDistanceRequest.java | 16 + ...lectrocardiogramVoltageGroupedRequest.java | 16 + ...VitalsElectrocardiogramVoltageRequest.java | 16 + .../requests/VitalsFallGroupedRequest.java | 16 + .../VitalsFloorsClimbedGroupedRequest.java | 16 + .../requests/VitalsFloorsClimbedRequest.java | 16 + ...ForcedExpiratoryVolume1GroupedRequest.java | 16 + ...talsForcedVitalCapacityGroupedRequest.java | 16 + .../requests/VitalsGlucoseGroupedRequest.java | 16 + .../vitals/requests/VitalsGlucoseRequest.java | 16 + .../VitalsHandwashingGroupedRequest.java | 16 + .../VitalsHeartRateAlertGroupedRequest.java | 16 + ...rtRateRecoveryOneMinuteGroupedRequest.java | 16 + .../VitalsHeartrateGroupedRequest.java | 16 + .../requests/VitalsHeartrateRequest.java | 16 + .../requests/VitalsHrvGroupedRequest.java | 16 + .../vitals/requests/VitalsHrvRequest.java | 16 + .../VitalsHypnogramGroupedRequest.java | 16 + .../requests/VitalsHypnogramRequest.java | 16 + .../requests/VitalsIgeGroupedRequest.java | 16 + .../vitals/requests/VitalsIgeRequest.java | 16 + .../requests/VitalsIggGroupedRequest.java | 16 + .../vitals/requests/VitalsIggRequest.java | 16 + .../VitalsInhalerUsageGroupedRequest.java | 16 + .../VitalsInsulinInjectionGroupedRequest.java | 16 + .../VitalsLeanBodyMassGroupedRequest.java | 16 + ...italsMindfulnessMinutesGroupedRequest.java | 16 + .../VitalsMindfulnessMinutesRequest.java | 16 + .../requests/VitalsNoteGroupedRequest.java | 16 + ...sPeakExpiratoryFlowRateGroupedRequest.java | 16 + .../VitalsRespiratoryRateGroupedRequest.java | 16 + .../VitalsRespiratoryRateRequest.java | 16 + .../VitalsSleepApneaAlertGroupedRequest.java | 16 + ...eepBreathingDisturbanceGroupedRequest.java | 16 + .../VitalsStandDurationGroupedRequest.java | 16 + .../VitalsStandHourGroupedRequest.java | 16 + .../requests/VitalsStepsGroupedRequest.java | 16 + .../vitals/requests/VitalsStepsRequest.java | 16 + .../VitalsStressLevelGroupedRequest.java | 16 + .../requests/VitalsStressLevelRequest.java | 16 + .../VitalsUvExposureGroupedRequest.java | 16 + .../requests/VitalsVo2MaxGroupedRequest.java | 16 + .../vitals/requests/VitalsVo2MaxRequest.java | 16 + ...italsWaistCircumferenceGroupedRequest.java | 16 + .../requests/VitalsWaterGroupedRequest.java | 16 + .../vitals/requests/VitalsWaterRequest.java | 16 + .../VitalsWheelchairPushGroupedRequest.java | 16 + .../VitalsWorkoutDistanceGroupedRequest.java | 16 + .../VitalsWorkoutDurationGroupedRequest.java | 16 + ...lsWorkoutSwimmingStrokeGroupedRequest.java | 16 + .../workouts/AsyncRawWorkoutsClient.java | 12 +- .../resources/workouts/RawWorkoutsClient.java | 12 +- .../requests/WorkoutsGetRawRequest.java | 16 + .../workouts/requests/WorkoutsGetRequest.java | 16 + .../vital/api/types/ActivityColumnExpr.java | 16 + .../com/vital/api/types/ActivityV2InDb.java | 16 + .../java/com/vital/api/types/AddOnOrder.java | 10 + .../java/com/vital/api/types/Address.java | 16 + .../com/vital/api/types/AggregateExpr.java | 16 + .../com/vital/api/types/AggregateExprArg.java | 78 +-- .../vital/api/types/AggregationResponse.java | 10 + .../vital/api/types/AggregationResult.java | 10 + src/main/java/com/vital/api/types/Answer.java | 16 + src/main/java/com/vital/api/types/AoE.java | 10 + .../java/com/vital/api/types/AoEAnswer.java | 16 + .../types/AppointmentAvailabilitySlots.java | 10 + .../api/types/AppointmentBookingRequest.java | 16 + .../vital/api/types/AppointmentLocation.java | 16 + .../vital/api/types/AppointmentProvider.java | 4 +- .../vital/api/types/AppointmentPscLabs.java | 24 + .../types/AppointmentRescheduleRequest.java | 16 + .../java/com/vital/api/types/AreaInfo.java | 16 + .../api/types/AsleepAtValueMacroExpr.java | 10 + .../api/types/AwakeAtValueMacroExpr.java | 10 + .../api/types/BasalBodyTemperatureEntry.java | 16 + .../com/vital/api/types/BiomarkerResult.java | 16 + .../types/BloodPressureTimeseriesExpr.java | 16 + .../com/vital/api/types/BodyColumnExpr.java | 16 + .../java/com/vital/api/types/BodyV2InDb.java | 16 + .../types/BulkExportConnectionsResponse.java | 10 + .../types/BulkImportConnectionsResponse.java | 10 + src/main/java/com/vital/api/types/BulkOp.java | 16 + .../com/vital/api/types/BulkOpsResponse.java | 10 + .../vital/api/types/CanonicalCandidate.java | 397 +++++++++++++ .../vital/api/types/CervicalMucusEntry.java | 16 + .../api/types/ChronotypeValueMacroExpr.java | 10 + .../api/types/ClientActivityResponse.java | 10 + .../vital/api/types/ClientBodyResponse.java | 10 + .../types/ClientFacingAFibBurdenSample.java | 16 + .../vital/api/types/ClientFacingActivity.java | 16 + .../types/ClientFacingActivityChanged.java | 16 + ...FacingActivityHistoricalPullCompleted.java | 16 + .../types/ClientFacingAfibBurdenChanged.java | 16 + ...cingAfibBurdenHistoricalPullCompleted.java | 16 + .../vital/api/types/ClientFacingApiKey.java | 16 + .../api/types/ClientFacingAppointment.java | 16 + ...ntFacingAppointmentCancellationReason.java | 16 + .../types/ClientFacingAppointmentChanged.java | 16 + .../types/ClientFacingAppointmentEvent.java | 16 + .../ClientFacingAtHomePhlebotomyOrder.java | 16 + ...entFacingAtHomePhlebotomyOrderDetails.java | 10 + ...ientFacingBasalBodyTemperatureChanged.java | 16 + ...odyTemperatureHistoricalPullCompleted.java | 16 + ...lientFacingBasalBodyTemperatureSample.java | 16 + .../types/ClientFacingBloodOxygenChanged.java | 16 + ...ingBloodOxygenHistoricalPullCompleted.java | 16 + .../ClientFacingBloodOxygenTimeseries.java | 16 + .../ClientFacingBloodPressureChanged.java | 16 + ...gBloodPressureHistoricalPullCompleted.java | 16 + .../ClientFacingBloodPressureTimeseries.java | 16 + .../com/vital/api/types/ClientFacingBody.java | 16 + .../api/types/ClientFacingBodyChanged.java | 16 + .../types/ClientFacingBodyFatTimeseries.java | 16 + ...ientFacingBodyHistoricalPullCompleted.java | 16 + .../ClientFacingBodyMassIndexChanged.java | 16 + ...gBodyMassIndexHistoricalPullCompleted.java | 16 + .../ClientFacingBodyMassIndexSample.java | 16 + .../ClientFacingBodyTemperatureChanged.java | 16 + ...ientFacingBodyTemperatureDeltaChanged.java | 16 + ...mperatureDeltaHistoricalPullCompleted.java | 16 + ...lientFacingBodyTemperatureDeltaSample.java | 16 + ...odyTemperatureHistoricalPullCompleted.java | 16 + .../ClientFacingBodyTemperatureSample.java | 16 + .../ClientFacingBodyWeightTimeseries.java | 16 + .../types/ClientFacingCaffeineChanged.java | 16 + ...FacingCaffeineHistoricalPullCompleted.java | 16 + .../types/ClientFacingCaffeineTimeseries.java | 16 + .../ClientFacingCaloriesActiveChanged.java | 16 + ...CaloriesActiveHistoricalPullCompleted.java | 16 + .../ClientFacingCaloriesActiveTimeseries.java | 16 + .../ClientFacingCaloriesBasalChanged.java | 16 + ...gCaloriesBasalHistoricalPullCompleted.java | 16 + .../ClientFacingCaloriesBasalTimeseries.java | 16 + .../ClientFacingCarbohydratesChanged.java | 16 + ...gCarbohydratesHistoricalPullCompleted.java | 16 + .../ClientFacingCarbohydratesSample.java | 16 + .../types/ClientFacingCholesterolChanged.java | 16 + ...ingCholesterolHistoricalPullCompleted.java | 16 + .../ClientFacingCholesterolTimeseries.java | 16 + .../ClientFacingConnectionErrorDetails.java | 16 + ...cingContinuousQueryResultTableChanged.java | 16 + .../api/types/ClientFacingCriticalResult.java | 16 + .../ClientFacingCriticalResultIdentified.java | 16 + .../ClientFacingDaylightExposureChanged.java | 16 + ...ylightExposureHistoricalPullCompleted.java | 16 + .../ClientFacingDaylightExposureSample.java | 16 + .../vital/api/types/ClientFacingDevice.java | 16 + .../api/types/ClientFacingDeviceChanged.java | 16 + .../ClientFacingDiagnosisInformation.java | 16 + .../types/ClientFacingDistanceChanged.java | 16 + ...FacingDistanceHistoricalPullCompleted.java | 16 + .../types/ClientFacingDistanceTimeseries.java | 16 + .../types/ClientFacingElectrocardiogram.java | 16 + .../ClientFacingElectrocardiogramChanged.java | 16 + ...ctrocardiogramHistoricalPullCompleted.java | 16 + ...ClientFacingElectrocardiogramResponse.java | 10 + ...FacingElectrocardiogramVoltageChanged.java | 16 + ...diogramVoltageHistoricalPullCompleted.java | 16 + ...ingElectrocardiogramVoltageTimeseries.java | 16 + .../api/types/ClientFacingFallChanged.java | 16 + ...ientFacingFallHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingFallSample.java | 16 + .../api/types/ClientFacingFatChanged.java | 16 + ...lientFacingFatHistoricalPullCompleted.java | 16 + .../ClientFacingFloorsClimbedChanged.java | 16 + ...gFloorsClimbedHistoricalPullCompleted.java | 16 + .../ClientFacingFloorsClimbedTimeseries.java | 16 + .../com/vital/api/types/ClientFacingFood.java | 10 + ...tFacingForcedExpiratoryVolume1Changed.java | 16 + ...iratoryVolume1HistoricalPullCompleted.java | 16 + ...ntFacingForcedExpiratoryVolume1Sample.java | 16 + ...lientFacingForcedVitalCapacityChanged.java | 16 + ...dVitalCapacityHistoricalPullCompleted.java | 16 + ...ClientFacingForcedVitalCapacitySample.java | 16 + .../api/types/ClientFacingGlucoseChanged.java | 16 + ...tFacingGlucoseHistoricalPullCompleted.java | 16 + .../types/ClientFacingGlucoseTimeseries.java | 16 + .../types/ClientFacingHandwashingChanged.java | 16 + ...ingHandwashingHistoricalPullCompleted.java | 16 + .../types/ClientFacingHandwashingSample.java | 16 + .../api/types/ClientFacingHeartRate.java | 10 + .../ClientFacingHeartRateAlertChanged.java | 16 + ...HeartRateAlertHistoricalPullCompleted.java | 16 + .../ClientFacingHeartRateAlertSample.java | 16 + ...cingHeartRateRecoveryOneMinuteChanged.java | 16 + ...overyOneMinuteHistoricalPullCompleted.java | 16 + ...acingHeartRateRecoveryOneMinuteSample.java | 16 + .../ClientFacingHeartRateTimeseries.java | 16 + .../types/ClientFacingHeartrateChanged.java | 16 + ...acingHeartrateHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingHrvChanged.java | 16 + ...lientFacingHrvHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingHrvTimeseries.java | 16 + .../ClientFacingHypnogramTimeseries.java | 16 + .../api/types/ClientFacingIgeChanged.java | 16 + ...lientFacingIgeHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingIgeTimeseries.java | 16 + .../api/types/ClientFacingIggChanged.java | 16 + ...lientFacingIggHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingIggTimeseries.java | 16 + .../ClientFacingInhalerUsageChanged.java | 16 + ...ngInhalerUsageHistoricalPullCompleted.java | 16 + .../types/ClientFacingInhalerUsageSample.java | 16 + .../ClientFacingInsulinInjectionChanged.java | 16 + ...sulinInjectionHistoricalPullCompleted.java | 16 + .../ClientFacingInsulinInjectionSample.java | 16 + .../api/types/ClientFacingInsurance.java | 16 + .../com/vital/api/types/ClientFacingLab.java | 16 + .../api/types/ClientFacingLabAccount.java | 451 +++++++++++++++ .../api/types/ClientFacingLabLocation.java | 16 + ...FacingLabReportParsingJobCreatedEvent.java | 199 +++++++ ...FacingLabReportParsingJobUpdatedEvent.java | 199 +++++++ .../vital/api/types/ClientFacingLabTest.java | 16 + .../com/vital/api/types/ClientFacingLabs.java | 4 +- .../ClientFacingLeanBodyMassChanged.java | 16 + ...ngLeanBodyMassHistoricalPullCompleted.java | 16 + .../types/ClientFacingLeanBodyMassSample.java | 16 + .../vital/api/types/ClientFacingLoinc.java | 16 + .../vital/api/types/ClientFacingMarker.java | 16 + .../api/types/ClientFacingMarkerComplete.java | 16 + .../api/types/ClientFacingMealChanged.java | 16 + ...ientFacingMealHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingMealResponse.java | 10 + .../api/types/ClientFacingMenstrualCycle.java | 16 + .../ClientFacingMenstrualCycleChanged.java | 16 + ...MenstrualCycleHistoricalPullCompleted.java | 16 + ...ClientFacingMindfulnessMinutesChanged.java | 16 + ...fulnessMinutesHistoricalPullCompleted.java | 16 + ...entFacingMindfulnessMinutesTimeseries.java | 16 + .../api/types/ClientFacingNoteChanged.java | 16 + ...ientFacingNoteHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingNoteSample.java | 16 + .../ClientFacingOnSiteCollectionOrder.java | 16 + ...entFacingOnSiteCollectionOrderDetails.java | 10 + .../vital/api/types/ClientFacingOrder.java | 80 ++- .../api/types/ClientFacingOrderChanged.java | 16 + .../api/types/ClientFacingOrderEvent.java | 16 + .../types/ClientFacingOrderInTransaction.java | 16 + .../types/ClientFacingOrderTransaction.java | 16 + .../ClientFacingPatientDetailsCompatible.java | 16 + .../vital/api/types/ClientFacingPayor.java | 16 + .../ClientFacingPayorSearchResponse.java | 16 + ...ntFacingPayorSearchResponseDeprecated.java | 16 + ...ntFacingPeakExpiratoryFlowRateChanged.java | 16 + ...ratoryFlowRateHistoricalPullCompleted.java | 16 + ...entFacingPeakExpiratoryFlowRateSample.java | 16 + .../api/types/ClientFacingPhysician.java | 16 + .../vital/api/types/ClientFacingProfile.java | 16 + .../api/types/ClientFacingProfileChanged.java | 16 + ...tFacingProfileHistoricalPullCompleted.java | 16 + .../vital/api/types/ClientFacingProvider.java | 16 + ...tFacingProviderConnectionCreatedEvent.java | 16 + ...entFacingProviderConnectionErrorEvent.java | 16 + .../types/ClientFacingProviderDetailed.java | 16 + .../types/ClientFacingProviderWithStatus.java | 16 + .../ClientFacingRespiratoryRateChanged.java | 16 + ...espiratoryRateHistoricalPullCompleted.java | 16 + ...ClientFacingRespiratoryRateTimeseries.java | 16 + .../vital/api/types/ClientFacingResult.java | 16 + .../ClientFacingShallowWorkoutStream.java | 16 + .../vital/api/types/ClientFacingShipment.java | 16 + .../vital/api/types/ClientFacingSleep.java | 16 + .../ClientFacingSleepApneaAlertChanged.java | 16 + ...leepApneaAlertHistoricalPullCompleted.java | 16 + .../ClientFacingSleepApneaAlertSample.java | 16 + ...acingSleepBreathingDisturbanceChanged.java | 16 + ...ingDisturbanceHistoricalPullCompleted.java | 16 + ...FacingSleepBreathingDisturbanceSample.java | 16 + .../api/types/ClientFacingSleepChanged.java | 16 + .../api/types/ClientFacingSleepCycle.java | 16 + .../types/ClientFacingSleepCycleChanged.java | 16 + ...cingSleepCycleHistoricalPullCompleted.java | 16 + ...entFacingSleepHistoricalPullCompleted.java | 16 + .../api/types/ClientFacingSleepStream.java | 10 + .../vital/api/types/ClientFacingSource.java | 16 + .../vital/api/types/ClientFacingSport.java | 16 + .../ClientFacingStandDurationChanged.java | 16 + ...gStandDurationHistoricalPullCompleted.java | 16 + .../ClientFacingStandDurationSample.java | 16 + .../types/ClientFacingStandHourChanged.java | 16 + ...acingStandHourHistoricalPullCompleted.java | 16 + .../types/ClientFacingStandHourSample.java | 16 + .../api/types/ClientFacingStepsChanged.java | 16 + ...entFacingStepsHistoricalPullCompleted.java | 16 + .../types/ClientFacingStepsTimeseries.java | 16 + .../vital/api/types/ClientFacingStream.java | 10 + .../types/ClientFacingStressLevelChanged.java | 16 + ...ingStressLevelHistoricalPullCompleted.java | 16 + .../ClientFacingStressLevelTimeseries.java | 16 + .../com/vital/api/types/ClientFacingTeam.java | 16 + .../ClientFacingTestKitOrderDetails.java | 10 + .../api/types/ClientFacingTestkitOrder.java | 16 + .../com/vital/api/types/ClientFacingUser.java | 16 + .../vital/api/types/ClientFacingUserKey.java | 16 + .../types/ClientFacingUvExposureChanged.java | 16 + ...cingUvExposureHistoricalPullCompleted.java | 16 + .../types/ClientFacingUvExposureSample.java | 16 + .../api/types/ClientFacingVo2MaxChanged.java | 16 + ...ntFacingVo2MaxHistoricalPullCompleted.java | 16 + .../types/ClientFacingVo2MaxTimeseries.java | 16 + ...ClientFacingWaistCircumferenceChanged.java | 16 + ...tCircumferenceHistoricalPullCompleted.java | 16 + .../ClientFacingWaistCircumferenceSample.java | 16 + .../types/ClientFacingWalkInOrderDetails.java | 10 + .../types/ClientFacingWalkInTestOrder.java | 16 + .../api/types/ClientFacingWaterChanged.java | 16 + ...entFacingWaterHistoricalPullCompleted.java | 16 + .../types/ClientFacingWaterTimeseries.java | 16 + .../api/types/ClientFacingWeightChanged.java | 16 + ...ntFacingWeightHistoricalPullCompleted.java | 16 + .../ClientFacingWheelchairPushChanged.java | 16 + ...WheelchairPushHistoricalPullCompleted.java | 16 + .../ClientFacingWheelchairPushSample.java | 16 + .../vital/api/types/ClientFacingWorkout.java | 16 + .../ClientFacingWorkoutDistanceChanged.java | 16 + ...orkoutDistanceHistoricalPullCompleted.java | 16 + .../ClientFacingWorkoutDistanceSample.java | 16 + .../ClientFacingWorkoutDurationChanged.java | 16 + ...orkoutDurationHistoricalPullCompleted.java | 16 + .../ClientFacingWorkoutDurationSample.java | 16 + .../api/types/ClientFacingWorkoutMap.java | 10 + .../ClientFacingWorkoutStreamChanged.java | 16 + ...gWorkoutStreamHistoricalPullCompleted.java | 16 + ...entFacingWorkoutSwimmingStrokeChanged.java | 16 + ...SwimmingStrokeHistoricalPullCompleted.java | 16 + ...ientFacingWorkoutSwimmingStrokeSample.java | 16 + .../types/ClientFacingWorkoutsChanged.java | 16 + ...FacingWorkoutsHistoricalPullCompleted.java | 16 + .../api/types/ClientSleepCycleResponse.java | 10 + .../vital/api/types/ClientSleepResponse.java | 10 + .../vital/api/types/ClientUserIdConflict.java | 16 + .../types/ClientUserIdConflictResponse.java | 16 + .../api/types/ClientWorkoutResponse.java | 10 + .../vital/api/types/ClinicalInformation.java | 10 + .../com/vital/api/types/CompanyDetails.java | 16 + .../vital/api/types/CompendiumSearchLabs.java | 28 + .../types/ConnectedSourceClientFacing.java | 16 + .../com/vital/api/types/ConnectionRecipe.java | 16 + .../java/com/vital/api/types/Consent.java | 16 + .../ContinuousQueryResultTableChanges.java | 16 + .../ContinuousQueryTaskHistoryEntry.java | 16 + .../ContinuousQueryTaskHistoryResponse.java | 10 + .../vital/api/types/ContraceptiveEntry.java | 16 + .../api/types/ConvertCompendiumResponse.java | 344 +++++++++++ .../types/CreateUserPortalUrlResponse.java | 16 + .../com/vital/api/types/DatePartExpr.java | 16 + .../com/vital/api/types/DateTruncExpr.java | 16 + .../java/com/vital/api/types/DaySlots.java | 16 + .../vital/api/types/DemoConnectionStatus.java | 16 + .../api/types/DerivedReadinessColumnExpr.java | 130 +++++ ...edReadinessColumnExprDerivedReadiness.java | 36 ++ .../api/types/DetectedDeviationEntry.java | 16 + .../com/vital/api/types/DeviceV2InDb.java | 16 + .../api/types/DiscreteTimeseriesExpr.java | 16 + src/main/java/com/vital/api/types/Energy.java | 16 + .../types/EventDestinationPreferences.java | 16 + .../vital/api/types/FallbackBirthDate.java | 16 + .../com/vital/api/types/FallbackTimeZone.java | 16 + src/main/java/com/vital/api/types/Fats.java | 10 + .../vital/api/types/GetMarkersResponse.java | 10 + .../types/GetOrderTransactionResponse.java | 28 +- .../vital/api/types/GetOrdersResponse.java | 10 + .../api/types/GetTeamLabAccountsResponse.java | 107 ++++ .../vital/api/types/GroupKeyColumnExpr.java | 16 + .../vital/api/types/GroupedAFibBurden.java | 16 + .../api/types/GroupedAFibBurdenResponse.java | 10 + .../types/GroupedBasalBodyTemperature.java | 16 + .../GroupedBasalBodyTemperatureResponse.java | 10 + .../vital/api/types/GroupedBloodOxygen.java | 16 + .../api/types/GroupedBloodOxygenResponse.java | 10 + .../vital/api/types/GroupedBloodPressure.java | 16 + .../types/GroupedBloodPressureResponse.java | 10 + .../com/vital/api/types/GroupedBodyFat.java | 16 + .../api/types/GroupedBodyFatResponse.java | 10 + .../vital/api/types/GroupedBodyMassIndex.java | 16 + .../types/GroupedBodyMassIndexResponse.java | 10 + .../api/types/GroupedBodyTemperature.java | 16 + .../types/GroupedBodyTemperatureDelta.java | 16 + .../GroupedBodyTemperatureDeltaResponse.java | 10 + .../types/GroupedBodyTemperatureResponse.java | 10 + .../vital/api/types/GroupedBodyWeight.java | 16 + .../api/types/GroupedBodyWeightResponse.java | 10 + .../com/vital/api/types/GroupedCaffeine.java | 16 + .../api/types/GroupedCaffeineResponse.java | 10 + .../api/types/GroupedCaloriesActive.java | 16 + .../types/GroupedCaloriesActiveResponse.java | 10 + .../vital/api/types/GroupedCaloriesBasal.java | 16 + .../types/GroupedCaloriesBasalResponse.java | 10 + .../vital/api/types/GroupedCarbohydrates.java | 16 + .../types/GroupedCarbohydratesResponse.java | 10 + .../vital/api/types/GroupedCholesterol.java | 16 + .../api/types/GroupedCholesterolResponse.java | 10 + .../api/types/GroupedDaylightExposure.java | 16 + .../GroupedDaylightExposureResponse.java | 10 + .../com/vital/api/types/GroupedDistance.java | 16 + .../api/types/GroupedDistanceResponse.java | 10 + .../GroupedElectrocardiogramVoltage.java | 16 + ...oupedElectrocardiogramVoltageResponse.java | 10 + .../java/com/vital/api/types/GroupedFall.java | 16 + .../vital/api/types/GroupedFallResponse.java | 10 + .../vital/api/types/GroupedFloorsClimbed.java | 16 + .../types/GroupedFloorsClimbedResponse.java | 10 + .../types/GroupedForcedExpiratoryVolume1.java | 16 + ...roupedForcedExpiratoryVolume1Response.java | 10 + .../api/types/GroupedForcedVitalCapacity.java | 16 + .../GroupedForcedVitalCapacityResponse.java | 10 + .../com/vital/api/types/GroupedGlucose.java | 16 + .../api/types/GroupedGlucoseResponse.java | 10 + .../vital/api/types/GroupedHandwashing.java | 16 + .../api/types/GroupedHandwashingResponse.java | 10 + .../com/vital/api/types/GroupedHeartRate.java | 16 + .../api/types/GroupedHeartRateAlert.java | 16 + .../types/GroupedHeartRateAlertResponse.java | 10 + .../GroupedHeartRateRecoveryOneMinute.java | 16 + ...pedHeartRateRecoveryOneMinuteResponse.java | 10 + .../api/types/GroupedHeartRateResponse.java | 10 + .../java/com/vital/api/types/GroupedHrv.java | 16 + .../vital/api/types/GroupedHrvResponse.java | 10 + .../com/vital/api/types/GroupedHypnogram.java | 16 + .../api/types/GroupedHypnogramResponse.java | 10 + .../java/com/vital/api/types/GroupedIge.java | 16 + .../vital/api/types/GroupedIgeResponse.java | 10 + .../java/com/vital/api/types/GroupedIgg.java | 16 + .../vital/api/types/GroupedIggResponse.java | 10 + .../vital/api/types/GroupedInhalerUsage.java | 16 + .../types/GroupedInhalerUsageResponse.java | 10 + .../api/types/GroupedInsulinInjection.java | 16 + .../GroupedInsulinInjectionResponse.java | 10 + .../vital/api/types/GroupedLeanBodyMass.java | 16 + .../types/GroupedLeanBodyMassResponse.java | 10 + .../api/types/GroupedMindfulnessMinutes.java | 16 + .../GroupedMindfulnessMinutesResponse.java | 10 + .../java/com/vital/api/types/GroupedNote.java | 16 + .../vital/api/types/GroupedNoteResponse.java | 10 + .../types/GroupedPeakExpiratoryFlowRate.java | 16 + ...GroupedPeakExpiratoryFlowRateResponse.java | 10 + .../api/types/GroupedRespiratoryRate.java | 16 + .../types/GroupedRespiratoryRateResponse.java | 10 + .../api/types/GroupedSleepApneaAlert.java | 16 + .../types/GroupedSleepApneaAlertResponse.java | 10 + .../GroupedSleepBreathingDisturbance.java | 16 + ...upedSleepBreathingDisturbanceResponse.java | 10 + .../vital/api/types/GroupedStandDuration.java | 16 + .../types/GroupedStandDurationResponse.java | 10 + .../com/vital/api/types/GroupedStandHour.java | 16 + .../api/types/GroupedStandHourResponse.java | 10 + .../com/vital/api/types/GroupedSteps.java | 16 + .../vital/api/types/GroupedStepsResponse.java | 10 + .../vital/api/types/GroupedStressLevel.java | 16 + .../api/types/GroupedStressLevelResponse.java | 10 + .../vital/api/types/GroupedUvExposure.java | 16 + .../api/types/GroupedUvExposureResponse.java | 10 + .../com/vital/api/types/GroupedVo2Max.java | 16 + .../api/types/GroupedVo2MaxResponse.java | 10 + .../api/types/GroupedWaistCircumference.java | 16 + .../GroupedWaistCircumferenceResponse.java | 10 + .../com/vital/api/types/GroupedWater.java | 16 + .../vital/api/types/GroupedWaterResponse.java | 10 + .../api/types/GroupedWheelchairPush.java | 16 + .../types/GroupedWheelchairPushResponse.java | 10 + .../api/types/GroupedWorkoutDistance.java | 16 + .../types/GroupedWorkoutDistanceResponse.java | 10 + .../api/types/GroupedWorkoutDuration.java | 16 + .../types/GroupedWorkoutDurationResponse.java | 10 + .../types/GroupedWorkoutSwimmingStroke.java | 16 + .../GroupedWorkoutSwimmingStrokeResponse.java | 10 + .../com/vital/api/types/GuarantorDetails.java | 16 + .../types/HealthInsuranceCreateRequest.java | 10 + .../api/types/HistoricalPullCompleted.java | 16 + .../api/types/HistoricalPullTimeline.java | 16 + .../api/types/HomePregnancyTestEntry.java | 16 + .../api/types/HomeProgesteroneTestEntry.java | 16 + .../vital/api/types/HttpValidationError.java | 10 + .../vital/api/types/IcdExcludesViolation.java | 16 + .../vital/api/types/IcdExcludesWarning.java | 16 + .../com/vital/api/types/IndexColumnExpr.java | 16 + .../vital/api/types/IndexColumnExprIndex.java | 2 + .../types/IntermenstrualBleedingEntry.java | 16 + .../api/types/IntervalTimeseriesExpr.java | 16 + src/main/java/com/vital/api/types/Jpeg.java | 16 + .../api/types/LabAccountDelegatedFlow.java | 28 + .../com/vital/api/types/LabAccountStatus.java | 26 + .../vital/api/types/LabLocationMetadata.java | 16 + .../com/vital/api/types/LabReportResult.java | 16 + .../vital/api/types/LabResultsMetadata.java | 16 + .../com/vital/api/types/LabResultsRaw.java | 54 +- .../api/types/LabTestResourcesResponse.java | 10 + src/main/java/com/vital/api/types/Labs.java | 2 + .../java/com/vital/api/types/LastAttempt.java | 16 + .../java/com/vital/api/types/LibreConfig.java | 10 + .../api/types/LinkTokenExchangeResponse.java | 16 + src/main/java/com/vital/api/types/LngLat.java | 16 + .../java/com/vital/api/types/LoincMatch.java | 16 + src/main/java/com/vital/api/types/Macros.java | 10 + .../com/vital/api/types/ManualProviders.java | 4 +- .../com/vital/api/types/MealColumnExpr.java | 16 + .../types/MealInDbBaseClientFacingSource.java | 16 + .../api/types/MenstrualCycleResponse.java | 10 + .../vital/api/types/MenstrualFlowEntry.java | 16 + .../com/vital/api/types/MetricsResult.java | 16 + src/main/java/com/vital/api/types/Micros.java | 10 + .../api/types/MissingBiomarkerResult.java | 16 + .../vital/api/types/NotFoundErrorBody.java | 10 + .../vital/api/types/NoteTimeseriesExpr.java | 16 + .../com/vital/api/types/OrderSetRequest.java | 10 + .../com/vital/api/types/OrderSummary.java | 16 + .../vital/api/types/OvulationTestEntry.java | 16 + .../api/types/PaginatedUsersResponse.java | 16 + .../vital/api/types/ParentBiomarkerData.java | 16 + .../vital/api/types/ParsedLabReportData.java | 16 + .../java/com/vital/api/types/ParsingJob.java | 57 +- .../com/vital/api/types/PatientAddress.java | 16 + .../api/types/PatientAddressCompatible.java | 16 + .../types/PatientAddressWithValidation.java | 16 + .../types/PatientDetailsWithValidation.java | 16 + .../api/types/PayorCodeExternalProvider.java | 6 +- .../com/vital/api/types/PerLabCandidate.java | 546 ++++++++++++++++++ .../vital/api/types/PerformingLaboratory.java | 16 + src/main/java/com/vital/api/types/Period.java | 16 + .../vital/api/types/PhlebotomyAreaInfo.java | 16 + .../api/types/PhlebotomyProviderInfo.java | 16 + .../api/types/PhysicianCreateRequest.java | 16 + .../api/types/PhysicianCreateRequestBase.java | 16 + .../java/com/vital/api/types/Placeholder.java | 16 + src/main/java/com/vital/api/types/Png.java | 16 + .../vital/api/types/PostOrderResponse.java | 16 + .../vital/api/types/ProfileColumnExpr.java | 16 + .../java/com/vital/api/types/ProfileInDb.java | 16 + .../api/types/ProviderConnectionCreated.java | 16 + .../api/types/ProviderConnectionError.java | 16 + .../types/ProviderIdConversionResponse.java | 152 +++++ .../vital/api/types/ProviderLinkResponse.java | 16 + .../vital/api/types/ProviderMfaRequest.java | 16 + .../java/com/vital/api/types/Providers.java | 2 + .../java/com/vital/api/types/PscAreaInfo.java | 16 + .../vital/api/types/PscAreaInfoDetails.java | 16 + .../java/com/vital/api/types/PscInfo.java | 16 + src/main/java/com/vital/api/types/Query.java | 10 + .../java/com/vital/api/types/QueryConfig.java | 10 + .../com/vital/api/types/QueryGroupByItem.java | 78 +-- .../com/vital/api/types/QuerySelectItem.java | 82 +-- .../java/com/vital/api/types/Question.java | 16 + .../java/com/vital/api/types/RawActivity.java | 10 + .../java/com/vital/api/types/RawBody.java | 10 + .../java/com/vital/api/types/RawDevices.java | 10 + .../java/com/vital/api/types/RawProfile.java | 16 + .../java/com/vital/api/types/RawSleep.java | 10 + .../java/com/vital/api/types/RawWorkout.java | 10 + .../com/vital/api/types/RelatedCandidate.java | 201 +++++++ .../vital/api/types/RelativeTimeframe.java | 16 + .../api/types/ResendWebhookResponse.java | 10 + .../vital/api/types/ResourceAvailability.java | 16 + .../com/vital/api/types/ResultMetadata.java | 42 ++ .../vital/api/types/ResultMetadataGender.java | 26 + .../java/com/vital/api/types/SampleData.java | 10 + .../api/types/ScopeRequirementsGrants.java | 16 + .../vital/api/types/ScopeRequirementsStr.java | 10 + .../api/types/SearchCompendiumResponse.java | 244 ++++++++ .../java/com/vital/api/types/SearchMode.java | 24 + .../vital/api/types/SexualActivityEntry.java | 16 + .../com/vital/api/types/ShippingAddress.java | 16 + .../types/ShippingAddressWithValidation.java | 16 + .../com/vital/api/types/SimulationFlags.java | 10 + .../types/SingleHistoricalPullStatistics.java | 16 + .../SingleProviderHistoricalPullResponse.java | 10 + .../api/types/SingleResourceStatistics.java | 10 + .../SingleUserHistoricalPullResponse.java | 16 + .../api/types/SingleUserResourceResponse.java | 16 + .../com/vital/api/types/SleepColumnExpr.java | 16 + .../api/types/SleepScoreValueMacroExpr.java | 10 + .../java/com/vital/api/types/SleepV2InDb.java | 16 + src/main/java/com/vital/api/types/Source.java | 16 + .../com/vital/api/types/SourceColumnExpr.java | 16 + .../java/com/vital/api/types/SourceLink.java | 16 + .../java/com/vital/api/types/TeamConfig.java | 16 + .../api/types/TemperatureTimeseriesExpr.java | 16 + .../java/com/vital/api/types/TimeSlot.java | 16 + .../api/types/TimeseriesMetricPoint.java | 16 + .../api/types/UnrecognizedValueMacroExpr.java | 16 + .../java/com/vital/api/types/UsAddress.java | 16 + .../java/com/vital/api/types/UsState.java | 120 ++++ .../types/UserHistoricalPullsResponse.java | 10 + .../java/com/vital/api/types/UserInfo.java | 16 + .../api/types/UserRefreshErrorResponse.java | 16 + .../api/types/UserRefreshSuccessResponse.java | 16 + .../api/types/UserResourcesResponse.java | 10 + .../api/types/UserSignInTokenResponse.java | 16 + .../vital/api/types/UserSuccessResponse.java | 16 + .../types/UtcTimestampWithTimezoneOffset.java | 16 + .../api/types/ValidateIcdCodesResponse.java | 16 + .../com/vital/api/types/ValidationError.java | 16 + ...asLabTestHealthInsurancePersonDetails.java | 16 + ...bSchemasLabTestInsurancePersonDetails.java | 16 + .../api/types/VitalTokenCreatedResponse.java | 16 + .../vital/api/types/WorkoutColumnExpr.java | 16 + .../types/WorkoutDurationTimeseriesExpr.java | 16 + .../com/vital/api/types/WorkoutV2InDb.java | 16 + src/test/java/com/vital/api/StreamTest.java | 23 + 787 files changed, 17531 insertions(+), 1489 deletions(-) create mode 100644 changelog.md create mode 100644 src/main/java/com/vital/api/core/ConsoleLogger.java create mode 100644 src/main/java/com/vital/api/core/ILogger.java create mode 100644 src/main/java/com/vital/api/core/LogConfig.java create mode 100644 src/main/java/com/vital/api/core/LogLevel.java create mode 100644 src/main/java/com/vital/api/core/Logger.java create mode 100644 src/main/java/com/vital/api/core/LoggingInterceptor.java create mode 100644 src/main/java/com/vital/api/core/SseEvent.java create mode 100644 src/main/java/com/vital/api/core/SseEventParser.java create mode 100644 src/main/java/com/vital/api/resources/compendium/AsyncCompendiumClient.java create mode 100644 src/main/java/com/vital/api/resources/compendium/AsyncRawCompendiumClient.java create mode 100644 src/main/java/com/vital/api/resources/compendium/CompendiumClient.java create mode 100644 src/main/java/com/vital/api/resources/compendium/RawCompendiumClient.java create mode 100644 src/main/java/com/vital/api/resources/compendium/requests/ConvertCompendiumBody.java create mode 100644 src/main/java/com/vital/api/resources/compendium/requests/SearchCompendiumBody.java create mode 100644 src/main/java/com/vital/api/resources/compendium/types/CompendiumConvertRequestTeamId.java create mode 100644 src/main/java/com/vital/api/resources/compendium/types/CompendiumSearchRequestTeamId.java create mode 100644 src/main/java/com/vital/api/resources/labaccount/AsyncLabAccountClient.java create mode 100644 src/main/java/com/vital/api/resources/labaccount/AsyncRawLabAccountClient.java create mode 100644 src/main/java/com/vital/api/resources/labaccount/LabAccountClient.java create mode 100644 src/main/java/com/vital/api/resources/labaccount/RawLabAccountClient.java create mode 100644 src/main/java/com/vital/api/resources/labaccount/requests/LabAccountGetTeamLabAccountsRequest.java create mode 100644 src/main/java/com/vital/api/types/AppointmentPscLabs.java create mode 100644 src/main/java/com/vital/api/types/CanonicalCandidate.java create mode 100644 src/main/java/com/vital/api/types/ClientFacingLabAccount.java create mode 100644 src/main/java/com/vital/api/types/ClientFacingLabReportParsingJobCreatedEvent.java create mode 100644 src/main/java/com/vital/api/types/ClientFacingLabReportParsingJobUpdatedEvent.java create mode 100644 src/main/java/com/vital/api/types/CompendiumSearchLabs.java create mode 100644 src/main/java/com/vital/api/types/ConvertCompendiumResponse.java create mode 100644 src/main/java/com/vital/api/types/DerivedReadinessColumnExpr.java create mode 100644 src/main/java/com/vital/api/types/DerivedReadinessColumnExprDerivedReadiness.java create mode 100644 src/main/java/com/vital/api/types/GetTeamLabAccountsResponse.java create mode 100644 src/main/java/com/vital/api/types/LabAccountDelegatedFlow.java create mode 100644 src/main/java/com/vital/api/types/LabAccountStatus.java create mode 100644 src/main/java/com/vital/api/types/PerLabCandidate.java create mode 100644 src/main/java/com/vital/api/types/ProviderIdConversionResponse.java create mode 100644 src/main/java/com/vital/api/types/RelatedCandidate.java create mode 100644 src/main/java/com/vital/api/types/ResultMetadataGender.java create mode 100644 src/main/java/com/vital/api/types/SearchCompendiumResponse.java create mode 100644 src/main/java/com/vital/api/types/SearchMode.java create mode 100644 src/main/java/com/vital/api/types/UsState.java diff --git a/.fern/metadata.json b/.fern/metadata.json index 189279f9..91a6c0de 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,12 +1,13 @@ { - "cliVersion": "3.48.2", + "cliVersion": "4.26.1", "generatorName": "fernapi/fern-java-sdk", - "generatorVersion": "3.33.2", + "generatorVersion": "3.39.1", "generatorConfig": { "publish-to": "central", "base-api-exception-class-name": "ApiError", "client-class-name": "Vital", "enable-forward-compatible-enums": false }, - "sdkVersion": "1.2.605" + "originGitCommit": "2e0c7710724231f5982585494240544746c9843c", + "sdkVersion": "2.0.0" } \ No newline at end of file diff --git a/.fernignore b/.fernignore index 43ca0d22..07281cd7 100644 --- a/.fernignore +++ b/.fernignore @@ -1,3 +1,4 @@ # Specify files that shouldn't be modified by Fern README.md +changelog.md diff --git a/build.gradle b/build.gradle index a36120f5..c7a2ef79 100644 --- a/build.gradle +++ b/build.gradle @@ -47,7 +47,7 @@ java { group = 'io.tryvital' -version = '1.2.605' +version = '2.0.0' jar { dependsOn(":generatePomFileForMavenPublication") @@ -78,7 +78,7 @@ publishing { maven(MavenPublication) { groupId = 'io.tryvital' artifactId = 'vital-java' - version = '1.2.605' + version = '2.0.0' from components.java pom { name = 'vital' diff --git a/changelog.md b/changelog.md new file mode 100644 index 00000000..fe157307 --- /dev/null +++ b/changelog.md @@ -0,0 +1,36 @@ +## 2.0.0 - 2026-03-13 +* The SDK now supports logging configuration through `ClientOptions.builder().logging(logConfig)`. New SSE event discrimination capabilities are available via `Stream.fromSseWithEventDiscrimination()` for streaming APIs that use discriminated unions. Some InputStream-based file upload methods have been removed from LabReportClient in favor of File-based alternatives. +* The `parserCreateJob` method overloads that accepted `InputStream` parameters have been removed from `RawLabReportClient`. Use the `File`-based overloads instead. The `lab` parameter in `LabTestsGetPscAppointmentAvailabilityRequest` now uses the `AppointmentPscLabs` enum instead of a String. +* The SDK now includes support for derived readiness column expressions in query operations. The `ClientFacingOrder` model has been updated with a new `clinicalNotes` field and the `parentId` field has been removed - existing code accessing `parentId` will need to be updated. The `ParsingJob` model no longer includes the `jobId` field. The `GetOrderTransactionResponse.status` field is now strongly typed as an enum instead of a string. +* The QuerySelectItem union type now supports DerivedReadinessColumnExpr for accessing derived readiness metrics in query expressions. +* The lab test markers endpoint now supports an optional `lab_slug` parameter for filtering results. Manual provider connection requests now support SDK version headers for improved debugging and analytics. +* The SDK now includes comprehensive logging infrastructure with configurable log levels and custom logger support. New client modules are available for compendium and lab account resources. Additional provider support has been added for Sonora Quest labs, Samsung Health manual provider, and Apero/Pverify payor code providers. +* New compendium endpoints are now available for searching and converting nutrition data. The SDK also includes enhanced request builders with additional property support and a new utility for parsing Server-Sent Events. +* New compendium search and conversion request classes are now available for lab test operations. The SDK also adds a complete LabAccountClient for managing team lab accounts with both sync and async support. +* The SDK now supports lab account management through the new `RawLabAccountClient.getTeamLabAccounts()` method for retrieving team lab account information. Order creation has been enhanced with an optional `clinical_notes` parameter in `CreateOrderRequestCompatible` for better clinical documentation. All request builders now include `additionalProperty()` and `additionalProperties()` methods for extended customization. +* New `additionalProperty()` and `additionalProperties()` methods are now available on request builder classes, allowing you to set custom key-value pairs on request objects using a fluent interface. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on request classes to support custom field extensions. These methods allow adding arbitrary key-value pairs to request objects for enhanced SDK flexibility. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on all vitals request builders, allowing custom key-value pairs to be included when constructing requests. +* New `additionalProperty()` and `additionalProperties()` builder methods are now available on all vitals request classes, enabling dynamic field handling for API requests. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on request objects to support custom key-value pairs for API extensibility. +* New CanonicalCandidate type is available for biomarker canonicalization with LOINC codes, aliases, and confidence scoring. All builder classes now support additionalProperty() and additionalProperties() methods for handling dynamic API responses. +* New builder methods available for setting additional properties on client-facing data types. The SDK now supports `additionalProperty(key, value)` and `additionalProperties(map)` methods on builders for appointment, body, temperature, and other health data models. +* New `additionalProperty` and `additionalProperties` methods are now available on builder classes for ClientFacing types, allowing custom key-value pairs to be added during object construction. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available for setting custom key-value pairs when constructing model objects. These methods provide a cleaner API for working with additional properties during object building. +* The SDK now provides convenient builder methods for setting additional properties on client-facing types. Use `additionalProperty()` to set individual properties or `additionalProperties()` to set multiple properties at once during object construction. +* New lab account management types and lab report parsing job event types are now available. The SDK includes ClientFacingLabAccount for lab account configuration and ClientFacingLabReportParsingJobCreatedEvent/ClientFacingLabReportParsingJobUpdatedEvent for webhook event handling. +* New `additionalProperty()` and `additionalProperties()` methods are now available on builder patterns for improved flexibility when constructing model objects with custom properties. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on client-facing types, allowing developers to set custom properties that will be preserved during serialization. +* The SDK now supports setting custom additional properties on all ClientFacing model objects through new builder methods. Use `.additionalProperty(key, value)` to set individual properties or `.additionalProperties(map)` to set multiple properties at once. +* Builder classes now include additionalProperty() and additionalProperties() methods for flexible data handling. A new CompendiumSearchLabs enum is available with lab provider constants (labcorp, quest, bioreference, sonora_quest). +* New `additionalProperty()` and `additionalProperties()` builder methods available on response object builders to support custom field handling. Added new `ConvertCompendiumResponse` type for lab test conversion operations and `DerivedReadinessColumnExpr` for readiness data expressions. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on builder classes to support custom properties. A new `GetTeamLabAccountsResponse` class has been added for retrieving team lab account data. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on all grouped data type builders, allowing developers to set custom key-value pairs on grouped response objects. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on all grouped data type builders, enabling flexible handling of additional properties while maintaining full backward compatibility. +* New builder methods for setting additional properties on model objects. The SDK now provides additionalProperty() and additionalProperties() methods on builder classes for enhanced extensibility when working with API responses. +* New `additionalProperty()` and `additionalProperties()` methods available on all builder classes, allowing developers to add custom properties to objects during construction. +* New `PerLabCandidate` type available for representing laboratory test candidates with comprehensive metadata including marker IDs, LOINC codes, CPT codes, and confidence scores. +* The SDK now supports Samsung Health as a provider. New provider ID conversion types are available for mapping between different provider identifiers. Lab result metadata now includes optional gender information with a new gender field and corresponding enum values. +* New SearchCompendiumResponse and SearchMode types available for compendium search functionality. The SearchCompendiumResponse class provides access to canonical candidates, per-lab results, and related search items. A new UsState enum is also available with all US state abbreviations. +* New builder methods `additionalProperty()` and `additionalProperties()` are now available on response type builders, providing a fluent API for setting custom properties during object construction. + diff --git a/reference.md b/reference.md index ab88a1cb..e57a5806 100644 --- a/reference.md +++ b/reference.md @@ -706,7 +706,6 @@ Check link token state - can be hit continuously used as heartbeat client.link().tokenState( LinkTokenStateRequest .builder() - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -768,7 +767,6 @@ client.link().emailAuth( .email("email") .provider(Providers.OURA) .authType(AuthType.PASSWORD) - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -863,7 +861,6 @@ client.link().passwordAuth( .password("password") .provider(Providers.OURA) .authType(AuthType.PASSWORD) - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -955,7 +952,6 @@ client.link().generateOauthLink( OAuthProviders.OURA, LinkGenerateOauthLinkRequest .builder() - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -1025,7 +1021,6 @@ client.link().connectPasswordProvider( .builder() .username("username") .password("password") - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -1118,7 +1113,6 @@ client.link().completePasswordProviderMfa( CompletePasswordProviderMfaBody .builder() .mfaCode("mfa_code") - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -1195,7 +1189,6 @@ client.link().connectEmailAuthProvider( EmailProviderAuthLink .builder() .email("email") - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -1286,7 +1279,6 @@ GET List of all available providers given the generated link token. client.link().getAllProviders( LinkGetAllProvidersRequest .builder() - .vitalLinkToken("x-vital-link-token") .build() ); ``` @@ -1357,6 +1349,22 @@ client.link().connectManualProvider(
client.compendium.search(request) -> SearchCompendiumResponseclient.compendium.convert(request) -> ConvertCompendiumResponseclient.labAccount.getTeamLabAccounts() -> GetTeamLabAccountsResponseUses the "fern" logger name with a simple format of "LEVEL - message". + */ +public final class ConsoleLogger implements ILogger { + + private static final java.util.logging.Logger logger = java.util.logging.Logger.getLogger("fern"); + + static { + if (logger.getHandlers().length == 0) { + java.util.logging.ConsoleHandler handler = new java.util.logging.ConsoleHandler(); + handler.setFormatter(new java.util.logging.SimpleFormatter() { + @Override + public String format(java.util.logging.LogRecord record) { + return record.getLevel() + " - " + record.getMessage() + System.lineSeparator(); + } + }); + logger.addHandler(handler); + logger.setUseParentHandlers(false); + logger.setLevel(Level.ALL); + } + } + + @Override + public void debug(String message) { + logger.log(Level.FINE, message); + } + + @Override + public void info(String message) { + logger.log(Level.INFO, message); + } + + @Override + public void warn(String message) { + logger.log(Level.WARNING, message); + } + + @Override + public void error(String message) { + logger.log(Level.SEVERE, message); + } +} diff --git a/src/main/java/com/vital/api/core/ILogger.java b/src/main/java/com/vital/api/core/ILogger.java new file mode 100644 index 00000000..b8972346 --- /dev/null +++ b/src/main/java/com/vital/api/core/ILogger.java @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.vital.api.core; + +/** + * Interface for custom logger implementations. + * + *
Implement this interface to provide a custom logging backend for the SDK. + * The SDK will call the appropriate method based on the log level. + * + *
Example: + *
{@code
+ * public class MyCustomLogger implements ILogger {
+ * public void debug(String message) {
+ * System.out.println("[DBG] " + message);
+ * }
+ * public void info(String message) {
+ * System.out.println("[INF] " + message);
+ * }
+ * public void warn(String message) {
+ * System.out.println("[WRN] " + message);
+ * }
+ * public void error(String message) {
+ * System.out.println("[ERR] " + message);
+ * }
+ * }
+ * }
+ */
+public interface ILogger {
+ void debug(String message);
+
+ void info(String message);
+
+ void warn(String message);
+
+ void error(String message);
+}
diff --git a/src/main/java/com/vital/api/core/LogConfig.java b/src/main/java/com/vital/api/core/LogConfig.java
new file mode 100644
index 00000000..33c5b4aa
--- /dev/null
+++ b/src/main/java/com/vital/api/core/LogConfig.java
@@ -0,0 +1,98 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.vital.api.core;
+
+/**
+ * Configuration for SDK logging.
+ *
+ * Use the builder to configure logging behavior: + *
{@code
+ * LogConfig config = LogConfig.builder()
+ * .level(LogLevel.DEBUG)
+ * .silent(false)
+ * .build();
+ * }
+ *
+ * Or with a custom logger: + *
{@code
+ * LogConfig config = LogConfig.builder()
+ * .level(LogLevel.DEBUG)
+ * .logger(new MyCustomLogger())
+ * .silent(false)
+ * .build();
+ * }
+ *
+ * Defaults: + *
Silent by default â no log output unless explicitly configured. + * Create via {@link LogConfig} or directly: + *
{@code
+ * Logger logger = new Logger(LogLevel.DEBUG, new ConsoleLogger(), false);
+ * logger.debug("request sent");
+ * }
+ */
+public final class Logger {
+
+ private static final Logger DEFAULT = new Logger(LogLevel.INFO, new ConsoleLogger(), true);
+
+ private final LogLevel level;
+ private final ILogger logger;
+ private final boolean silent;
+
+ public Logger(LogLevel level, ILogger logger, boolean silent) {
+ this.level = level;
+ this.logger = logger;
+ this.silent = silent;
+ }
+
+ /**
+ * Returns a default silent logger (no output).
+ */
+ public static Logger getDefault() {
+ return DEFAULT;
+ }
+
+ /**
+ * Creates a Logger from a {@link LogConfig}. If config is {@code null}, returns the default silent logger.
+ */
+ public static Logger from(LogConfig config) {
+ if (config == null) {
+ return DEFAULT;
+ }
+ return new Logger(config.level(), config.logger(), config.silent());
+ }
+
+ /**
+ * Creates a Logger from an {@code OptionalLogs request method, URL, and headers (with sensitive values redacted) at debug level.
+ * Logs response status at debug level, and 4xx/5xx responses at error level.
+ * Does nothing if the logger is silent.
+ */
+public final class LoggingInterceptor implements Interceptor {
+
+ private static final Set
+ * Handles two discrimination patterns:
+ *
+ * Constructs the full SSE envelope object with event, data, id, and retry fields,
+ * then deserializes it to the target union type.
+ *
+ * @param eventType The SSE event type (from event: field)
+ * @param data The SSE data content (from data: field)
+ * @param id The SSE event ID (from id: field), may be null
+ * @param retry The SSE retry value (from retry: field), may be null
+ * @param unionClass The target union class
+ * @param discriminatorProperty The property name used for discrimination (e.g., "event")
+ * @param
+ * Simply parses the data field as JSON and deserializes it to the target type.
+ * Jackson's polymorphic deserialization handles the discrimination automatically.
+ *
+ * @param data The SSE data content (from data: field)
+ * @param valueType The target type
+ * @param
+ *
+ */
+public final class SseEventParser {
+
+ private static final Set