Skip to content

feat: remove teamId fields from bulk link requests and add new enum values#173

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

feat: remove teamId fields from bulk link requests and add new enum values#173
fern-api[bot] wants to merge 1 commit intomasterfrom
fern-bot/2026-04-09T14-05Z

Conversation

@fern-api
Copy link
Copy Markdown
Contributor

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

Version Bump: Removing exported types LinkBulkExportRequestTeamId, LinkBulkImportRequestTeamId, LinkBulkPauseRequestTeamId, LinkBulkTriggerHistoricalPullRequestTeamId, and LinkListBulkOpsRequestTeamId, removing properties from request interfaces, and removing the insulin_injection enum value are all breaking changes that will cause compile errors for existing callers.

  • Several breaking changes have been made to the Link bulk operation request types and enum types. The teamId optional property has been removed from BulkExportConnectionsBody, BulkImportConnectionsBody, BulkPauseConnectionsBody, and BulkTriggerHistoricalPullBody — remove any references to teamId in calls to these APIs. The exported enum types LinkBulkExportRequestTeamId, LinkBulkImportRequestTeamId, LinkBulkPauseRequestTeamId, LinkBulkTriggerHistoricalPullRequestTeamId, and LinkListBulkOpsRequestTeamId have been deleted — remove all imports and usages of these types. Additionally, insulin_injection has been removed from IntervalTimeseriesExprTimeseries. New values have been added: sonora_quest to AppointmentPscLabs, AppointmentProvider, and ClientFacingLabs; apero and pverify to PayorCodeExternalProvider; and derived_readiness to IndexColumnExprIndex.
  • The labReport.parserCreateJob() method now accepts an array of files (Uploadable[]) instead of a single file (Uploadable), enabling multiple files to be uploaded in a single parse job. Migration: wrap existing single-file calls in an array, e.g. change parserCreateJob(file, request) to parserCreateJob([file], request).

Three new resource namespaces are now available: compendium, labAccount, and orderTransaction.

  • The bookPscAppointment method on LabTestsClient now accepts a LabTestsBookPscAppointmentRequest instead of AppointmentBookingRequest directly. The booking payload must now be passed under a body property, and the new type supports optional idempotencyKey and idempotencyError header fields. Callers must update their usage to wrap the booking request: { body: { bookingKey: "..." } }.

Additional optional parameters have been added across several endpoints: labSlug on getMarkers, allowStale on getPscAppointmentAvailability, orderTransactionId on getOrders, and clinicalNotes on CreateOrderRequestCompatible.

  • The teamId optional field has been removed from LinkListBulkOpsRequest, BulkImportConnectionsBody, BulkTriggerHistoricalPullBody, BulkExportConnectionsBody, and BulkPauseConnectionsBody — callers passing teamId in these requests must remove that field. The address field type in UserInfoCreateRequest has changed from Vital.Address to Vital.UserAddress; update any type annotations or assignments accordingly. The connectManualProvider method now supports new vitalIosSdkVersion and vitalAndroidSdkVersion fields on ManualConnectionData which are forwarded as HTTP headers.

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

  • ParsingJob.jobId (a required string field) has been removed. Update any code accessing parsingJob.jobId to use the new optional parsingJob.failureReason field instead.

  • ResultMetadata fields patientFirstName, patientLastName, dob, and labName are now optional (were previously required). Code that assumes these are always present will need null/undefined checks.

  • UserInfo.address now has type Vital.UserAddress instead of Vital.Address. Update any code passing or receiving an Address object in this field to use UserAddress.

  • Several boolean fields have been narrowed to literal types (true or false): wheelchairUse, HistoricalPullCompleted.isFinal, UserRefreshSuccessResponse.success, UserRefreshErrorResponse.success, and Placeholder.placeholder. Existing code assigning false to wheelchairUse or isFinal will no longer type-check.

New additions include optional deliveryMode, deliveryForm, and bolusPurpose fields on ClientFacingInsulinInjectionSample, new compendium resource exports, new provider values (samsung_health, tandem_source, sonora_quest, crl), and new order status values including corrected and lab-processing-blocked states.

  • Three new resource clients are now available on VitalClient: compendium (with search() and convert() methods), labAccount (with getTeamLabAccounts()), and orderTransaction. Several ResultMetadata fields (patientFirstName, patientLastName, dob, labName) have changed from required string to optional string | null — callers that previously assumed these fields were always present will need to add null checks. Additionally, UserInfo.address now uses the UserAddress type instead of Address, and the success field on UserRefreshErrorResponse/UserRefreshSuccessResponse has been narrowed to the literal types false/true respectively.
  • The SDK now includes a new OrderTransactionClient (accessible via client.orderTransaction) with methods to retrieve order transactions (getTransaction), their raw lab results (getTransactionResult), and PDF results (getTransactionResultPdf). Many new types have been added including ClientFacingOrderTransaction, OrderOrigin, OrderStatusDetail, lab account types (ClientFacingLabAccount, LabAccountStatus, LabAccountDelegatedFlow), insulin injection timeseries types, and lab report parsing job webhook event types. Existing types such as ClientFacingOrder, ClientFacingAppointment, ClientFacingSleep, AppointmentBookingRequest, and Address have been expanded with new optional fields, and several enums have new values including SonoraQuest for AppointmentProvider/Labs/ClientFacingLabs and SamsungHealth for ManualProviders.
  • The SDK now includes expanded provider support (TandemSource, SamsungHealth), new payor code providers (Apero, Pverify), and an optional accessNotes field on address types. New compendium search and convert capabilities are available via new request/response types (SearchCompendiumBody, ConvertCompendiumBody, SearchCompendiumResponse, ConvertCompendiumResponse). Additional new types cover order transactions, lab accounts, lab report parsing job events, analytics query expressions (DerivedReadinessColumnExpr, AwakeningsValueMacroExpr, InsulinInjectionTimeseriesExpr), and appointment booking enhancements (appointmentNotes, async confirmation options).
  • The SDK now supports insulin pump as a device source type across all relevant health data enums. Insulin injection samples include three new optional fields — deliveryMode, deliveryForm, and bolusPurpose — for richer insulin tracking. Orders expose additional metadata including clinicalNotes, lastEvent, origin, and orderTransaction, and order events now carry an optional statusDetail. New types for lab account management (ClientFacingLabAccount, GetTeamLabAccountsResponse), order transactions (ClientFacingOrderTransaction, GetOrderTransactionResponse), lab report parsing job events, and compendium conversion are also available.
  • The SDK now includes a wide range of new types and capabilities: compendium search (SearchCompendiumResponse, PerLabCandidate, RelatedCandidate, ProviderIdConversionResponse), order transaction tracking (ClientFacingOrderTransaction, GetOrderTransactionResponse), lab account management (ClientFacingLabAccount, GetTeamLabAccountsResponse), and extended address models with an optional accessNotes field. New providers tandem_source and samsung_health are now supported, and query expressions have been expanded with InsulinInjectionTimeseriesExpr, DerivedReadinessColumnExpr, AwakeningsValueMacroExpr, and the recovery_readiness_score sleep column.

…alues

Remove optional `teamId` fields from bulk link operation request types and
delete the associated `LinkBulk*RequestTeamId` enum types entirely. Add new
`sonora_quest` lab/provider values across appointment and labs enums, add
`apero` and `pverify` payor code external providers, add `derived_readiness`
to `IndexColumnExprIndex`, and remove `insulin_injection` from
`IntervalTimeseriesExprTimeseries`. Also includes internal object-schema
performance improvements with lazy property computation and reduced
per-call allocations.

Key changes:
- Remove `teamId` optional property from `BulkExportConnectionsBody`, `BulkImportConnectionsBody`, `BulkPauseConnectionsBody`, and `BulkTriggerHistoricalPullBody`
- Delete exported types `LinkBulkExportRequestTeamId`, `LinkBulkImportRequestTeamId`, `LinkBulkPauseRequestTeamId`, `LinkBulkTriggerHistoricalPullRequestTeamId`, and `LinkListBulkOpsRequestTeamId`
- Add `SonoraQuest` ("sonora_quest") to `AppointmentPscLabs`, `AppointmentProvider`, and `ClientFacingLabs`
- Add `apero` and `pverify` to `PayorCodeExternalProvider`
- Add `derived_readiness` to `IndexColumnExprIndex`
- Remove `insulin_injection` from `IntervalTimeseriesExprTimeseries`
- Refactor internal object schema builder for lazy evaluation and lower allocation overhead

🌿 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