Vigia

Upgrading plaid from 48.x to 49.x

Comparison of the public API of plaid 48.0.0 and 49.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports69
Changed signatures3
Removed class or interface members4
Changed class or interface members59
Newly deprecated0
Requirement changes (engines, peer dependencies)0
New exports69

Removed exports

importexportkindBefore
plaidPaystubinterfaceinterface
plaidPhoneTypeenumPhoneType
plaidPlaidErrorinterfaceinterface
plaidPayrollIteminterfaceinterface
plaidPhoneNumberinterfaceinterface
plaidPlatformIdsinterfaceinterface
plaidPrismDetectinterfaceinterface
plaidPrismExtendinterfaceinterface
plaidEnhancementsinterfaceinterface
plaidPaymentSchemeenumPaymentScheme
plaidPrismInsightsinterfaceinterface
plaidPrismVersionsinterfaceinterface
plaidPaystubAddressinterfaceinterface
plaidPaystubDetailsinterfaceinterface
plaidPlaidErrorTypeenumPlaidErrorType
plaidPrismCashScoreinterfaceinterface
plaidPaystubEmployerinterfaceinterface
plaidPaystubOverrideinterfaceinterface
plaidPaystubDeductioninterfaceinterface
plaidPrismFirstDetectinterfaceinterface
plaidPayrollItemStatusinterfaceinterface
plaidPaystubYTDDetailsinterfaceinterface
plaidPrismDetectVersionenumPrismDetectVersion
plaidPrismExtendVersionenumPrismExtendVersion
plaidPayrollIncomeObjectinterfaceinterface
plaidPaystubPayFrequencyenumPaystubPayFrequency
plaidPhoneNumberTypeEnumenumPhoneNumberTypeEnum
plaidPaymentProfileStatusenumPaymentProfileStatus
plaidPrismInsightsVersionenumPrismInsightsVersion
plaidPaystubOverrideNetPayinterfaceinterface
plaidPhoneNumberMatchScoreinterfaceinterface
plaidPlaidLendScoreVersionenumPlaidLendScoreVersion
plaidPrismCashScoreVersionenumPrismCashScoreVersion
plaidPayrollIncomeRateOfPayinterfaceinterface
plaidPayrollRiskSignalsIteminterfaceinterface
plaidPhysicalDocumentImagesinterfaceinterface
plaidPrismCashScoreMetadatainterfaceinterface
plaidPaymentScheduleIntervalenumPaymentScheduleInterval
plaidPaystubOverrideEarningsinterfaceinterface
plaidPaystubOverrideEmployeeinterfaceinterface
plaidPaystubOverrideEmployerinterfaceinterface
plaidPersonalFinanceCategoryinterfaceinterface
plaidPrismFirstDetectVersionenumPrismFirstDetectVersion
plaidPayrollIncomeAccountDatainterfaceinterface
plaidPendingDisconnectWebhookinterfaceinterface
plaidPendingExpirationWebhookinterfaceinterface
plaidPhysicalDocumentCategoryenumPhysicalDocumentCategory
plaidPaystubOverrideDeductionsinterfaceinterface
plaidPaystubOverrideTaxpayerIDinterfaceinterface
plaidPaymentStatusUpdateWebhookinterfaceinterface
plaidClientProvidedRawTransactioninterfaceinterface
plaidPaymentProfileRemoveResponseinterfaceinterface
plaidPaystubOverrideEarningsTotalinterfaceinterface
plaidPhysicalDocumentExtractedDatainterfaceinterface
plaidPaystubOverrideDeductionsTotalinterfaceinterface
plaidPaystubOverrideEmployeeAddressinterfaceinterface
plaidPaystubOverrideEmployerAddressinterfaceinterface
plaidPendingDisconnectWebhookReasonenumPendingDisconnectWebhookReason
plaidPersonalFinanceCategoryVersionenumPersonalFinanceCategoryVersion
plaidPaystubOverridePayPeriodDetailsinterfaceinterface
plaidPaystubOverrideEarningsBreakdowninterfaceinterface
plaidClientProvidedEnhancedTransactioninterfaceinterface
plaidCraReportCreateHomeLendingOptionsinterfaceinterface
plaidPaystubOverrideDeductionsBreakdowninterfaceinterface
plaidCraReportCreateHomeLendingReportTypeenumCraReportCreateHomeLendingReportType
plaidPaystubOverrideDistributionBreakdowninterfaceinterface
plaidPhysicalDocumentExtractedDataAnalysisinterfaceinterface
plaidCraReportCreateEmploymentRefreshOptionsinterfaceinterface
plaidCraReportGetIncomeInsightsMetadataAllOfinterfaceinterface

Changed signatures

exportBeforeAfter
plaid · CraReportProductCraReportCreateBaseReportProductConfig | CraReportCreateCashflowInsightsProductConfig | CraReportCreateHomeLendingProductConfig | CraReportCreateIncomeInsightsProductConfig | CraReportCreateLendScoreProductConfig | CraReportCreateNetworkInsightsProductConfig | CraReportCreateQualifyProductConfigCraReportCreateBaseReportProductConfig | CraReportCreateCashflowInsightsProductConfig | CraReportCreateHomeLendingProductConfig | CraReportCreateIncomeCompleteBundleProductConfig | CraReportCreateIncomeInsightsProductConfig | CraReportCreateLendScoreCompleteBundleProductConfig | CraReportCreateLendScoreProductConfig | CraReportCreateNetworkInsightsProductConfig | CraReportCreateQualifyProductConfig
plaid · CraReportGetRequestProductCraBaseReportProduct | CraCashflowInsightsProduct | CraHomeLendingProduct | CraIncomeInsightsProduct | CraLendScoreProduct | CraNetworkInsightsProduct | CraQualifyProductCraBaseReportProduct | CraCashflowInsightsProduct | CraHomeLendingProduct | CraIncomeCompleteBundleProduct | CraIncomeInsightsProduct | CraLendScoreCompleteBundleProduct | CraLendScoreProduct | CraNetworkInsightsProduct | CraQualifyProduct
plaid · CraReportGetResponseProductCraReportGetHomeLendingResponseProduct | CraReportGetIncomeInsightsResponseProduct | CraReportGetQualifyResponseProductCraReportGetBaseReportResponseProduct | CraReportGetCashflowInsightsResponseProduct | CraReportGetHomeLendingResponseProduct | CraReportGetIncomeCompleteResponseProduct | CraReportGetIncomeInsightsResponseProduct | CraReportGetLendScoreCompleteResponseProduct | CraReportGetLendScoreResponseProduct | CraReportGetNetworkInsightsResponseProduct | CraReportGetQualifyResponseProduct

Removed class or interface members

memberimportBefore
AssetReportInvestmentHolding.cost_basisplaidnumber | null
AssetReportInvestmentTransaction.vested_valueplaidnumber
AssetReportInvestmentTransaction.vested_quantityplaidnumber
CraReportCreateHomeLendingProductConfig.optionsplaidCraReportCreateHomeLendingOptions | null | undefined

Changed class or interface members

memberBeforeAfter
MFA.question_roundsnumbernumber | undefined
MFA.selection_roundsnumbernumber | undefined
MFA.questions_per_roundnumbernumber | undefined
MFA.selections_per_questionnumbernumber | undefined
Meta.maskstringstring | undefined
Meta.namestringstring | undefined
Meta.limitnumbernumber | undefined
Meta.official_namestringstring | undefined
AssetReport.insightsAccountInsights | null | undefinedAccountInsights | undefined
InflowModel.income_amountnumbernumber | undefined
InflowModel.transaction_namestringstring | undefined
InflowModel.payment_day_of_monthnumberany
InflowModel.statement_day_of_monthstringany
OwnerOverride.emailsEmail[]Email[] | undefined
OwnerOverride.addressesAddress[]AddressOverride[] | undefined
OwnerOverride.phone_numbersPhoneNumber[]PhoneNumber[] | undefined
OverrideAccounts.metaMetaMeta | undefined
OverrideAccounts.numbersNumbersNumbers | undefined
OverrideAccounts.currencystringstring | undefined
OverrideAccounts.holdingsHoldingsOverride | undefinedHoldingsOverride[] | undefined
OverrideAccounts.identityOwnerOverrideOwnerOverride | undefined
OverrideAccounts.liabilityLiabilityOverrideLiabilityOverride | undefined
OverrideAccounts.inflow_modelInflowModelInflowModel | undefined
OverrideAccounts.transactionsTransactionOverride[]TransactionOverride[] | undefined
OverrideAccounts.starting_balancenumbernumber | undefined
OverrideAccounts.force_available_balancenumbernumber | undefined
OverrideAccounts.investment_transactionsInvestmentsTransactionsOverride | undefinedInvestmentsTransactionsOverride[] | undefined
OverrideAccounts.has_null_available_balancebooleanboolean | undefined
LiabilityOverride.cash_aprnumbernumber | undefined
LiabilityOverride.guarantorstringstring | undefined
LiabilityOverride.loan_namestringstring | undefined
LiabilityOverride.principalnumbernumber | undefined
LiabilityOverride.is_federalbooleanboolean | undefined
LiabilityOverride.is_overduebooleanboolean | undefined
LiabilityOverride.loan_statusStudentLoanStatusStudentLoanStatus | undefined
LiabilityOverride.nominal_aprnumbernumber | undefined
LiabilityOverride.pslf_statusPSLFStatusPSLFStatus | undefined
LiabilityOverride.special_aprnumbernumber | undefined
LiabilityOverride.purchase_aprnumbernumber | undefined
LiabilityOverride.repayment_modelStudentLoanRepaymentModelStudentLoanRepaymentModel | undefined
LiabilityOverride.sequence_numberstringnumber | undefined
LiabilityOverride.origination_datestringstring | undefined
LiabilityOverride.servicer_addressAddressAddressDataOverride | undefined
LiabilityOverride.last_payment_amountnumbernumber | undefined
LiabilityOverride.repayment_plan_typestringstring | undefined
LiabilityOverride.balance_transfer_aprnumbernumber | undefined
LiabilityOverride.expected_payoff_datestringstring | undefined
LiabilityOverride.minimum_payment_amountnumbernumber | undefined
LiabilityOverride.payment_reference_numberstringstring | undefined
LiabilityOverride.repayment_plan_descriptionstringstring | undefined
LiabilityOverride.interest_capitalization_grace_period_monthsnumbernumber | undefined
CraReportGetResponse.client_user_idstring | null | undefinedstring | null
CraReportCreateRequest.scopeCraReportScope | undefinedCraReportScope
IdentityMatchListAttempt.item_idstringstring | null
PaymentInitiationMetadata.maximum_payment_amount{ [key: string]: string; }{ [key: string]: string; } | undefined
IdentityMatchListAttemptScore.account_idstringstring | null
PaymentInitiationStandingOrderMetadata.valid_standing_order_intervalsPaymentScheduleInterval[]PaymentScheduleInterval[] | null
LinkTokenCreateRequestCraReportParameter.scopeCraReportScope | undefinedCraReportScope
LinkTokenCreateRequestCraReportParameter.decision_stageCraReportDecisionStage | undefinedCraReportDecisionStage

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

None detected.

New exports (69)
importexportkind
plaidAddressOverrideinterface
plaidAddressDataOverrideinterface
plaidCraLendScoreVariantenum
plaidKYCCheckSSAAnalysisinterface
plaidCraReportGetBaseIteminterface
plaidLiabilityOverrideAPRinterface
plaidKYCCheckSSAMatchStatusenum
plaidCashAdvanceIncomeStreaminterface
plaidCashAdvancePayFrequencyenum
plaidCraReportGetBaseAccountinterface
plaidCraReportGetEnrichedIteminterface
plaidLiabilityOverrideAPRTypeenum
plaidCashAdvanceIncomeCategoryinterface
plaidCraReportGetBaseReportIteminterface
plaidCraReportGetEnrichedAccountinterface
plaidCraReportGetLendScoreOptionsinterface
plaidCraReportGetBaseReportAccountinterface
plaidCraReportGetEnrichedItemAllOfinterface
plaidCraReportGetLendScoreMetadatainterface
plaidLiabilityOverrideInterestRateinterface
plaidCraIncomeCompleteBundleProductinterface
plaidCraReportGetBaseReportMetadatainterface
plaidCraReportCreateLendScoreOptionsinterface
plaidCraReportGetAccountIdentityMatchinterface
plaidCraReportGetBaseReportAttributesinterface
plaidCraReportGetEnrichedAccountAllOfinterface
plaidCraLendScoreCompleteBundleProductinterface
plaidCraReportGetAccountPrimaryAccountinterface
plaidCraReportGetBaseReportTransactioninterface
plaidCraReportGetLendScoreVariantScoreinterface
plaidLiabilityOverrideInterestRateTypeenum
plaidCraReportGetIncomeCompleteMetadatainterface
plaidCraReportGetLendScoreMetadataAllOfinterface
plaidCraReportGetBaseReportMetadataAllOfinterface
plaidCraReportGetNetworkInsightsMetadatainterface
plaidCraReportCreateIncomeCompleteOptionsinterface
plaidCraReportGetCashflowInsightsMetadatainterface
plaidCraReportGetIncomeCompleteAttributesinterface
plaidCraReportGetLendScoreCompleteOptionsinterface
plaidCraReportGetLendScoreResponseProductinterface
plaidCraReportGetBaseReportAccountBalancesinterface
plaidCraReportGetBaseReportAccountInsightsinterface
plaidCraReportGetBaseReportResponseProductinterface
plaidCraReportGetLendScoreCompleteMetadatainterface
plaidCraReportCreateLendScoreCompleteOptionsinterface
plaidCraReportGetBaseReportAccountAttributesinterface
plaidCraReportGetBaseReportLongestGapInsightinterface
plaidCraReportGetLendScoreCompleteAttributesinterface
plaidBetaCashAdvanceIncomeInsightsV1GetRequestinterface
plaidCraIncomeCompleteBundleProductProductEnumenum
plaidCraReportGetIncomeCompleteResponseProductinterface
plaidBetaCashAdvanceIncomeInsightsV1GetResponseinterface
plaidCraReportGetBaseReportAccountIdentityMatchinterface
plaidCraReportGetLendScoreCompleteMetadataAllOfinterface
plaidCraReportGetNetworkInsightsResponseProductinterface
plaidCraReportGetBaseReportAverageMonthlyBalanceinterface
plaidCraReportGetCashflowInsightsResponseProductinterface
plaidCraLendScoreCompleteBundleProductProductEnumenum
plaidCraReportGetLendScoreCompleteResponseProductinterface
plaidCraReportGetLendScoreResponseProductProductEnumenum
plaidCraReportCreateIncomeCompleteBundleProductConfiginterface
plaidCraReportGetBaseReportResponseProductProductEnumenum
plaidCraReportCreateLendScoreCompleteBundleProductConfiginterface
plaidCraReportGetIncomeCompleteResponseProductProductEnumenum
plaidCraReportGetNetworkInsightsResponseProductProductEnumenum
plaidCraReportGetCashflowInsightsResponseProductProductEnumenum
plaidCraReportGetLendScoreCompleteResponseProductProductEnumenum
plaidCraReportCreateIncomeCompleteBundleProductConfigProductEnumenum
plaidCraReportCreateLendScoreCompleteBundleProductConfigProductEnumenum

Changelog between these versions

Text published by the package authors, shown as-is.

49.0.0
- Updating to OAS 2020-09-14_1.778.0

## Breaking changes in this version

- [BREAKING] Correct Asset Report investment data to match API behavior: remove `cost_basis` from holdings, and move `vested_quantity` and `vested_value` from investment transactions to holdings as nullable fields.
- [BREAKING] Correct the capitalization of the enum values in the Auth and Identity `DEFAULT_UPDATE` webhooks to match the values the API sends.
- [BREAKING] Correct Sandbox enum values to match the values the API accepts: replace `VERIFICATION_STATUS_PENDING_APPROVAL` with `VERIFICATION_STATUS_DOCUMENT_REJECTED` in `/sandbox/income/fire_webhook`, and remove `PRODUCT_GENERATION_ERROR` from `/sandbox/cra/servicing/simulate`.
- [BREAKING] Remove `/sandbox/transfer/repayment/simulate` and `/beta/transactions/v1/enhance` from the specification to match the API, which no longer serves either endpoint.
- [BREAKING] Correct field types in the custom Sandbox user configuration (`UserCustomPassword`) to match what the Sandbox accepts. Client library models for these objects change type:
  - `version` is an integer, `1` or `2`.
  - `holdings` and `investment_transactions` on an `override_accounts` entry are arrays.
  - W2 amounts, including `box_12` and `state_and_local_wages` amounts, and `tax_year` in `income.w2s` are numbers, and `statutory_employee`, `retirement_plan`, and `third_party_sick_pay` are booleans.
  - `liability.sequence_number` is a number, and `liability.servicer_address` is a flat address with `street`, `city`, `region`, `postal_code`, and `country`, without the `primary` and `data` wrapper.
  - `inflow_model.payment_day_of_month` and `inflow_model.statement_day_of_month` take a whole number from 1 to 28 or the string `last`.
  - The credit APR fields and the student loan `nominal_apr` take a value from 0 to 100, and `interest_capitalization_grace_period_months` is a non-negative integer.
  - Remove `pay_frequency` from paystub `pay_period_details`. The Sandbox never read it.
- [BREAKING] In the custom Sandbox user configuration, mark as required only the fields the Sandbox requires: `type` and `subtype` on each account override; `type` on `mfa`, `liability`, and `inflow_model`; `names` on `identity`; `primary`, `data.city`, `data.street`, and `data.country` on each `identity.addresses` entry; `city`, `street`, and `country` on `liability.servicer_address`; and `currency` on a holding's or investment transaction's `security`. All top-level fields and all `meta` fields are optional.
- [BREAKING] Remove `primary_account`, `identity_match`, and `owners` from the accounts in the `cra_income_insights` product's `items` on `/cra/report/get`; Income Insights never populates them. Products that return identity data keep those fields.
- [BREAKING] Remove the public `options` object from `cra_home_lending` products on `/cra/report/create` and `cra_report_parameter.products` on `/link/token/create`, including the unsupported `reports_requested` and `employment_ref

Give your AI agent these facts

Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Add to CursorAdd to VS Code★ Star on GitHub

Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests

Frequently asked questions

What are the breaking changes when upgrading plaid from 48 to 49?

Between plaid 48.0.0 and 49.0.0, Vigia found 69 removed exports, 3 changed signatures and 63 removed or changed class or interface members.

What became deprecated in plaid 49?

0 exports or members are newly marked as deprecated in plaid 49.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/plaid/upgrade?from=48.0.0&to=49.0.0