Skip to content

feat: remove teamId fields and add new enum values across link and lab types#175

Open
fern-api[bot] wants to merge 1 commit intomasterfrom
fern-bot/2026-04-09T20-10Z
Open

feat: remove teamId fields and add new enum values across link and lab types#175
fern-api[bot] wants to merge 1 commit intomasterfrom
fern-bot/2026-04-09T20-10Z

Conversation

@fern-api
Copy link
Copy Markdown
Contributor

@fern-api fern-api bot commented Apr 9, 2026

Version Bump: MAJOR because exported symbols were removed: the teamId property was deleted from four public request interfaces, five LinkBulk*RequestTeamId enum types were fully removed, and InsulinInjection was removed from IntervalTimeseriesExprTimeseries — all of which will cause compile errors for existing callers.

  • Several breaking changes have been made to the Link bulk operation request types and enum values:

  • The teamId optional property has been removed from BulkExportConnectionsBody, BulkImportConnectionsBody, BulkPauseConnectionsBody, and BulkTriggerHistoricalPullBody. Remove any usage of this field from your request objects.

  • The exported enum types LinkBulkExportRequestTeamId, LinkBulkImportRequestTeamId, LinkBulkPauseRequestTeamId, LinkBulkTriggerHistoricalPullRequestTeamId, and LinkListBulkOpsRequestTeamId have been deleted. Remove any imports or references to these types.

  • The insulin_injection value has been removed from the IntervalTimeseriesExprTimeseries enum. Update any code that references IntervalTimeseriesExprTimeseries.InsulinInjection.

New enum values have also been added: sonora_quest is now available in AppointmentPscLabs, AppointmentProvider, and ClientFacingLabs; apero and pverify have been added to PayorCodeExternalProvider; and derived_readiness has been added to IndexColumnExprIndex.

  • The labReport.parserCreateJob method now accepts an array of files (core.file.Uploadable[]) instead of a single file, allowing multiple files to be uploaded in one parse job. Callers must wrap existing single-file arguments in an array (e.g., parserCreateJob([file], request)).

Three new resource namespaces are now available on the SDK client: compendium, labAccount, and orderTransaction.

  • The bookPscAppointment method on LabTestsClient now accepts a LabTestsBookPscAppointmentRequest instead of AppointmentBookingRequest. The booking payload should be passed under the body key of the new request object, and the new object also supports optional idempotencyKey and idempotencyError fields for idempotency header control. Additionally, new optional fields have been added: clinicalNotes on CreateOrderRequestCompatible, orderTransactionId on the get-orders request, allowStale on the PSC appointment availability request, and labSlug on the get-markers request.

  • The teamId field has been removed from LinkListBulkOpsRequest, BulkImportConnectionsBody, BulkTriggerHistoricalPullBody, BulkExportConnectionsBody, and BulkPauseConnectionsBody — remove any teamId property from calls to listBulkOps, bulkImport, bulkTriggerHistoricalPull, bulkExport, and bulkPause. The address field in UserInfoCreateRequest now requires type Vital.UserAddress instead of Vital.Address — update any code passing an address to that request type accordingly. The connectManualProvider method now reads vitalIosSdkVersion and vitalAndroidSdkVersion from the request object and sends them as HTTP headers rather than body fields.

  • Several breaking type changes have been introduced in this release:

  • ParsingJob.jobId (required string) has been removed. Update any code reading this field; the new optional failureReason field is available for error context.

  • ResultMetadata fields patientFirstName, patientLastName, dob, and labName changed from required to optional. Existing code that treats these as always-present will need null-guard updates. A new optional gender field has also been added.

  • UserInfo.address type changed from Vital.Address to Vital.UserAddress. Update type annotations accordingly.

  • Several boolean fields have been narrowed to literal types (true/false): ClientFacingActivity.wheelchairUse, ClientFacingProfile.wheelchairUse, HistoricalPullCompleted.isFinal, Placeholder.placeholder, UserRefreshSuccessResponse.success, and UserRefreshErrorResponse.success. Code relying on these as boolean may require type annotation updates.

New additions include optional deliveryMode, deliveryForm, and bolusPurpose fields on ClientFacingInsulinInjectionSample; new OrderStatus and OrderLowLevelStatus enum values for corrected results and lab processing blocks; new labs (sonora_quest, crl); and new providers (samsung_health, tandem_source).

  • Three new resource clients are now available on VitalClient: compendium (with search() and convert() methods), labAccount (with getTeamLabAccounts()), and orderTransaction. Several existing types have been updated: ResultMetadata fields patientFirstName, patientLastName, dob, and labName are now optional (previously required), and UserRefreshSuccessResponse.success / UserRefreshErrorResponse.success have been narrowed to boolean literals true / false respectively — callers relying on success: boolean may need type updates. UserInfo now uses UserAddress instead of Address for the address field.
  • The SDK now includes a new OrderTransactionClient (accessible via client.orderTransaction) with methods to retrieve order transactions (getTransaction), raw lab results (getTransactionResult), and PDF results (getTransactionResultPdf). New types and enum values have been added across the board, including insulin injection timeseries support, lab account management types (ClientFacingLabAccount, LabAccountStatus, LabAccountDelegatedFlow), order transaction status tracking, and expanded enums for AppointmentProvider, Labs, ManualProviders, and device source types. Several existing types have been extended with new optional fields such as ClientFacingOrder.lastEvent, ClientFacingOrder.origin, ClientFacingSleep.recoveryReadinessScore, and appointment booking/reschedule notes.
  • The SDK now supports compendium search and conversion with new SearchCompendiumResponse, ConvertCompendiumResponse, CanonicalCandidate, PerLabCandidate, and RelatedCandidate types. New providers TandemSource and SamsungHealth have been added, along with Apero and Pverify for PayorCodeExternalProvider. Several address types now include an optional accessNotes field, new query expression variants (DerivedReadinessColumnExpr, AwakeningsValueMacroExpr, InsulinInjectionTimeseriesExpr) are available in QuerySelectItem and QueryGroupByItem, and appointment and order types have been expanded with additional optional fields and new event types.
  • The SDK now supports insulin pump as a source type across ECG, menstrual cycle, and sleep cycle data. New optional fields have been added to ClientFacingInsulinInjectionSample (deliveryMode, deliveryForm, bolusPurpose), ClientFacingOrder (clinicalNotes, lastEvent, origin, orderTransaction), ClientFacingOrderEvent (statusDetail), and ClientFacingSleep (recoveryReadinessScore). New types are available for order transactions (ClientFacingOrderTransaction, GetOrderTransactionResponse), lab accounts (ClientFacingLabAccount, GetTeamLabAccountsResponse), lab report parsing job events, and compendium conversion responses.
  • The SDK now supports lab compendium search with new types (SearchCompendiumResponse, SearchMode, PerLabCandidate, RelatedCandidate, ProviderIdConversionResponse) and order transaction tracking (ClientFacingOrderTransaction, GetOrderTransactionResponse, OrderTransactionStatus). New providers tandem_source and samsung_health are available in the Providers enum, address types now include an optional accessNotes field, and new query expression types (DerivedReadinessColumnExpr, AwakeningsValueMacroExpr, InsulinInjectionTimeseriesExpr) are supported in select and group-by queries.

…b types

Remove deprecated `teamId` optional properties from all bulk link operation
request types and delete the associated `LinkBulk*RequestTeamId` enum types.
Add `sonora_quest` to appointment and lab enums, `apero` and `pverify` to
`PayorCodeExternalProvider`, `derived_readiness` to `IndexColumnExprIndex`,
and remove `insulin_injection` from `IntervalTimeseriesExprTimeseries`.
Also refactor the internal object schema builder for lazy property computation
and improved `passthrough` behavior.

Migration guide for breaking changes:
- Remove any references to `teamId` on `BulkExportConnectionsBody`,
  `BulkImportConnectionsBody`, `BulkPauseConnectionsBody`, and
  `BulkTriggerHistoricalPullBody` — these fields no longer exist.
- Remove any imports of `LinkBulkExportRequestTeamId`, `LinkBulkImportRequestTeamId`,
  `LinkBulkPauseRequestTeamId`, `LinkBulkTriggerHistoricalPullRequestTeamId`, and
  `LinkListBulkOpsRequestTeamId` — these types have been deleted.
- Remove any references to `IntervalTimeseriesExprTimeseries.InsulinInjection`
  (`"insulin_injection"`) — this enum value has been removed.

Key changes:
- Removed `teamId` optional property from all four bulk link request interfaces
- Deleted `LinkBulk*RequestTeamId` exported enum types and their serializers
- Removed `insulin_injection` from `IntervalTimeseriesExprTimeseries` enum
- Added `sonora_quest` to `AppointmentPscLabs`, `AppointmentProvider`, and `ClientFacingLabs`
- Added `apero` and `pverify` to `PayorCodeExternalProvider`
- Added `derived_readiness` to `IndexColumnExprIndex`
- Refactored object schema builder to use lazy property computation (internal)

🌿 Generated with Fern
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants