Skip to content

Commit 6cd4543

Browse files
Update to Plaid v1.631.0
1 parent 18c45e8 commit 6cd4543

File tree

60 files changed

+437
-74
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+437
-74
lines changed

src/Plaid/Converters/WebhookBaseConverter.Map.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ public partial class WebhookBaseConverter : JsonConverter<WebhookBase>
6262
[(WebhookType.Item, WebhookCode.UserAccountRevoked)] = typeof(UserAccountRevokedWebhook),
6363
[(WebhookType.Statements, WebhookCode.StatementsRefreshComplete)] = typeof(StatementsRefreshCompleteWebhook),
6464
[(WebhookType.CraMonitoring, WebhookCode.InsightsUpdated)] = typeof(MonitoringInsightsWebhook),
65-
[(WebhookType.CraMonitoring, WebhookCode.NsfOverdraftDetected)] = typeof(MonitoringInsightsNSFWebhook),
66-
[(WebhookType.CraMonitoring, WebhookCode.NewIncomeStreamDetected)] = typeof(MonitoringInsightsNewIncomeStreamWebhook),
67-
[(WebhookType.CraMonitoring, WebhookCode.ExpectedDepositMissed)] = typeof(MonitoringInsightsExpectedDepositMissedWebhook),
68-
[(WebhookType.CraMonitoring, WebhookCode.LowBalanceDetected)] = typeof(MonitoringInsightsLowBalanceWebhook),
69-
[(WebhookType.CraMonitoring, WebhookCode.LargeDepositDetected)] = typeof(MonitoringInsightsLargeDepositWebhook),
70-
[(WebhookType.CraMonitoring, WebhookCode.NewLoanPaymentDetected)] = typeof(MonitoringInsightsNewLoanPaymentWebhook),
65+
[(WebhookType.CashFlowUpdates, WebhookCode.NsfOverdraftDetected)] = typeof(CashFlowUpdatesNSFWebhook),
66+
[(WebhookType.CashFlowUpdates, WebhookCode.NewIncomeStreamDetected)] = typeof(CashFlowUpdatesNewIncomeStreamWebhook),
67+
[(WebhookType.CashFlowUpdates, WebhookCode.ExpectedDepositMissed)] = typeof(CashFlowUpdatesExpectedDepositMissedWebhook),
68+
[(WebhookType.CashFlowUpdates, WebhookCode.LowBalanceDetected)] = typeof(CashFlowUpdatesLowBalanceWebhook),
69+
[(WebhookType.CashFlowUpdates, WebhookCode.LargeDepositDetected)] = typeof(CashFlowUpdatesLargeDepositWebhook),
70+
[(WebhookType.CashFlowUpdates, WebhookCode.NewLoanPaymentDetected)] = typeof(CashFlowUpdatesNewLoanPaymentWebhook),
7171
[(WebhookType.BaseReport, WebhookCode.Error)] = typeof(BaseReportsErrorWebhook),
7272
[(WebhookType.CraIncome, WebhookCode.BankIncomeComplete)] = typeof(CraBankIncomeCompleteWebhook),
7373
[(WebhookType.CraIncome, WebhookCode.Error)] = typeof(CraBankIncomeErrorWebhook),

src/Plaid/Cra/CraCheckReportCashflowInsightsGetResponse.cs

+6
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,10 @@ public record CraCheckReportCashflowInsightsGetResponse : ResponseBase
1111
[JsonPropertyName("report")]
1212
public Entity.CraCashflowInsightsReport Report { get; init; } = default!;
1313

14+
/// <summary>
15+
/// <para>If the Cashflow Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing</para>
16+
/// </summary>
17+
[JsonPropertyName("warnings")]
18+
public IReadOnlyList<Entity.CraReportWarning>? Warnings { get; init; } = default!;
19+
1420
}

src/Plaid/Cra/CraCheckReportCreateRequest.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@ public partial class CraCheckReportCreateRequest : RequestBase
3030
public int? DaysRequired { get; set; } = default!;
3131

3232
/// <summary>
33-
/// <para>Specifies a list of products that will be eagerly generated when creating the report. These products will be made available before a success webhook is sent. Use this option to minimize response latency for product <c>/get</c> endpoints.</para>
33+
/// <para>Client-generated identifier, which can be used by lenders to track loan applications.</para>
34+
/// </summary>
35+
[JsonPropertyName("client_report_id")]
36+
public string? ClientReportId { get; set; } = default!;
37+
38+
/// <summary>
39+
/// <para>Specifies a list of products that will be eagerly generated when creating the report (in addition to the Base Report, which is always eagerly generated). These products will be made available before a success webhook is sent. Use this option to minimize response latency for product <c>/get</c> endpoints. Note that specifying <c>cra_partner_insights</c> in this field will trigger a billable event. Other products are not billed until the respective reports are fetched via product-specific <c>/get</c> endpoints.</para>
3440
/// </summary>
3541
[JsonPropertyName("products")]
3642
public IReadOnlyList<Entity.Products>? Products { get; set; } = default!;

src/Plaid/Cra/CraCheckReportIncomeInsightsGetResponse.cs

+6
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,10 @@ public record CraCheckReportIncomeInsightsGetResponse : ResponseBase
1111
[JsonPropertyName("report")]
1212
public Entity.CraIncomeInsights? Report { get; init; } = default!;
1313

14+
/// <summary>
15+
/// <para>If the Income Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing</para>
16+
/// </summary>
17+
[JsonPropertyName("warnings")]
18+
public IReadOnlyList<Entity.CraReportWarning>? Warnings { get; init; } = default!;
19+
1420
}

src/Plaid/Cra/CraCheckReportNetworkInsightsGetResponse.cs

+6
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,10 @@ public record CraCheckReportNetworkInsightsGetResponse : ResponseBase
1111
[JsonPropertyName("report")]
1212
public Entity.CraNetworkInsightsReport Report { get; init; } = default!;
1313

14+
/// <summary>
15+
/// <para>If the Network Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing</para>
16+
/// </summary>
17+
[JsonPropertyName("warnings")]
18+
public IReadOnlyList<Entity.CraReportWarning>? Warnings { get; init; } = default!;
19+
1420
}

src/Plaid/Cra/CraCheckReportPartnerInsightsGetResponse.cs

+6
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,10 @@ public record CraCheckReportPartnerInsightsGetResponse : ResponseBase
1111
[JsonPropertyName("report")]
1212
public Entity.CraPartnerInsights? Report { get; init; } = default!;
1313

14+
/// <summary>
15+
/// <para>If the Partner Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing</para>
16+
/// </summary>
17+
[JsonPropertyName("warnings")]
18+
public IReadOnlyList<Entity.CraReportWarning>? Warnings { get; init; } = default!;
19+
1420
}

src/Plaid/Cra/CraMonitoringInsightsSubscribeRequest.cs

+6
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,10 @@ public partial class CraMonitoringInsightsSubscribeRequest : RequestBase
1717
[JsonPropertyName("webhook")]
1818
public string Webhook { get; set; } = default!;
1919

20+
/// <summary>
21+
/// <para>Income categories to include in Cash Flow Updates. If empty or <c>null</c>, this field will default to including all possible categories.</para>
22+
/// </summary>
23+
[JsonPropertyName("income_categories")]
24+
public IReadOnlyList<Entity.CreditBankIncomeCategory>? IncomeCategories { get; set; } = default!;
25+
2026
}

src/Plaid/Entity/Account.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public record Account
6969
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;
7070

7171
/// <summary>
72-
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
72+
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC, and in May 2025 US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
7373
/// </summary>
7474
[JsonPropertyName("persistent_account_id")]
7575
public string? PersistentAccountId { get; init; } = default!;

src/Plaid/Entity/AccountAssets.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ public record AccountAssets
8181
public IReadOnlyList<Entity.AssetReportTransaction> Transactions { get; init; } = default!;
8282

8383
/// <summary>
84-
/// <para>A transaction within an investment account.</para>
84+
/// <para>A set of fields describing the investments data on an account.</para>
8585
/// </summary>
8686
[JsonPropertyName("investments")]
87-
public Entity.AssetReportInvestmentTransaction? Investments { get; init; } = default!;
87+
public Entity.AssetReportInvestments? Investments { get; init; } = default!;
8888

8989
/// <summary>
9090
/// <para>Data returned by the financial institution about the account owner or owners.For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same <c>owner</c> object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the <c>owners</c> object is not returned, and instead identity information is returned in the top level <c>identity</c> object. For more details, see <a href="https://plaid.com/docs/api/versioning/#version-2019-05-29">Plaid API versioning</a></para>

src/Plaid/Entity/AccountIdentity.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public record AccountIdentity
6969
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;
7070

7171
/// <summary>
72-
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
72+
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC, and in May 2025 US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
7373
/// </summary>
7474
[JsonPropertyName("persistent_account_id")]
7575
public string? PersistentAccountId { get; init; } = default!;

src/Plaid/Entity/AccountIdentityDocumentUpload.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public record AccountIdentityDocumentUpload
6969
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;
7070

7171
/// <summary>
72-
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
72+
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC, and in May 2025 US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
7373
/// </summary>
7474
[JsonPropertyName("persistent_account_id")]
7575
public string? PersistentAccountId { get; init; } = default!;

src/Plaid/Entity/AccountIdentityMatchScore.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public record AccountIdentityMatchScore
6969
public Entity.VerificationInsights? VerificationInsights { get; init; } = default!;
7070

7171
/// <summary>
72-
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
72+
/// <para>A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This field is currently supported only for Items at institutions that use Tokenized Account Numbers (i.e., Chase and PNC, and in May 2025 US Bank). Because these accounts have a different account number each time they are linked, this field may be used instead of the account number to uniquely identify an account across multiple Items for payments use cases, helping to reduce duplicate Items or attempted fraud. In Sandbox, this field is populated for TAN-based institutions (<c>ins_56</c>, <c>ins_13</c>) as well as the OAuth Sandbox institution (<c>ins_127287</c>); in Production, it will only be populated for accounts at applicable institutions.</para>
7373
/// </summary>
7474
[JsonPropertyName("persistent_account_id")]
7575
public string? PersistentAccountId { get; init; } = default!;

src/Plaid/Entity/AchClass.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ public enum AchClass
1212
Ccd,
1313

1414
/// <summary>
15-
/// <para>Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, e.g. bill payment</para>
15+
/// <para>Prearranged Payment or Deposit - The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained in writing either in person or via an electronic document signing, e.g. Docusign, by the consumer. Can be used for credits or debits.</para>
1616
/// </summary>
1717
[EnumMember(Value = "ppd")]
1818
Ppd,
1919

2020
/// <summary>
21-
/// <para>Telephone-Initiated Entry</para>
21+
/// <para>Telephone-Initiated Entry. The transfer debits a consumer. Debit authorization has been received orally over the telephone via a recorded call.</para>
2222
/// </summary>
2323
[EnumMember(Value = "tel")]
2424
Tel,
2525

2626
/// <summary>
27-
/// <para>Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet</para>
27+
/// <para>Internet-Initiated Entry. The transfer debits a consumer’s bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits.</para>
2828
/// </summary>
2929
[EnumMember(Value = "web")]
3030
Web,

src/Plaid/Entity/AssetReportAddOns.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
namespace Going.Plaid.Entity;
22

33
/// <summary>
4-
/// <para>A list of add-ons that should be included in the Asset Report.</para>
4+
/// <para>Add-ons that should be included in the Asset Report.</para>
55
/// </summary>
66
public enum AssetReportAddOns
77
{

src/Plaid/Entity/AssetReportCreateRequestOptions.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ public class AssetReportCreateRequestOptions
3232
public IReadOnlyList<string>? Products { get; set; } = default!;
3333

3434
/// <summary>
35-
/// <para>This field can be used to add additional options for the Asset Report. To fetch <c>investments</c> data (transactions, holdings, etc.) in the Asset Report, <c>investments</c> must be specified in <c>add_ons</c>. For Fast Assets, <c>fast_assets</c> must be specified in <c>add_ons</c>.</para>
35+
/// <para>A list of add-ons that should be included in the Asset Report.</para>
36+
/// <para><c>fast_assets</c>: When Fast Assets is requested, Plaid will create two versions of the Asset Report: the Fast Asset Report, which will contain only Identity and Balance information, and the Full Asset Report, which will also contain Transactions information. A <c>PRODUCT_READY</c> webhook will be fired for each Asset Report when it is ready, and the <c>report_type</c> field will indicate whether the webhook is firing for the <c>full</c> or <c>fast</c> Asset Report. To retrieve the Fast Asset Report, call <c>/asset_report/get</c> with <c>fast_report</c> set to <c>true</c>. There is no additional charge for using Fast Assets. To create a Fast Asset Report, Plaid must successfully retrieve both Identity and Balance data; if Plaid encounters an error obtaining this data, the Fast Asset Report will not be created. However, as long as Plaid can obtain Transactions data, the Full Asset Report will still be available.</para>
37+
/// <para><c>investments</c>: Request an Asset Report with Investments. To properly fetch investments data, <c>investments</c> must be specified in the <c>optional_products</c> array when initializing Link.</para>
3638
/// </summary>
3739
[JsonPropertyName("add_ons")]
3840
public IReadOnlyList<Entity.AssetReportAddOns>? AddOns { get; set; } = default!;

0 commit comments

Comments
 (0)