Skip to content

Commit

Permalink
Update to Plaid v1.614.1
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Jan 31, 2025
1 parent 25ca4d3 commit 438d9cc
Show file tree
Hide file tree
Showing 31 changed files with 426 additions and 10 deletions.
2 changes: 1 addition & 1 deletion plaid-openapi
Submodule plaid-openapi updated 2 files
+320 −10 2020-09-14.yml
+18 −0 CHANGELOG.md
26 changes: 26 additions & 0 deletions src/Plaid/Cra/CraCheckReportCashflowInsightsGetRequest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
namespace Going.Plaid.Cra;

/// <summary>
/// <para>CraCheckReportCashflowInsightsGetRequest defines the request schema for <c>/cra/check_report/cashflow_insights/get</c>.</para>
/// </summary>
public partial class CraCheckReportCashflowInsightsGetRequest : RequestBase
{
/// <summary>
/// <para>The user token associated with the User data is being requested for.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string? UserToken { get; set; } = default!;

/// <summary>
/// <para>The third-party user token associated with the requested User data.</para>
/// </summary>
[JsonPropertyName("third_party_user_token")]
public string? ThirdPartyUserToken { get; set; } = default!;

/// <summary>
/// <para>Defines configuration options to generate Cashflow Insights</para>
/// </summary>
[JsonPropertyName("options")]
public Entity.CraCheckReportCashflowInsightsGetOptions? Options { get; set; } = default!;

}
14 changes: 14 additions & 0 deletions src/Plaid/Cra/CraCheckReportCashflowInsightsGetResponse.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Going.Plaid.Cra;

/// <summary>
/// <para>CraCheckReportCashflowInsightsGetResponse defines the response schema for <c>/cra/check_report/cashflow_insights/get</c>.</para>
/// </summary>
public record CraCheckReportCashflowInsightsGetResponse : ResponseBase
{
/// <summary>
/// <para>Contains data for the CRA Cashflow Insights Report.</para>
/// </summary>
[JsonPropertyName("report")]
public Entity.CraCashflowInsightsReport Report { get; init; } = default!;

}
24 changes: 24 additions & 0 deletions src/Plaid/Cra/CraCheckReportCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,30 @@ public partial class CraCheckReportCreateRequest : RequestBase
[JsonPropertyName("days_required")]
public int? DaysRequired { get; set; } = default!;

/// <summary>
/// <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 if you know which products you want in the report up-front, in order to optimize latency. The <c>cra_base_report</c> product will always be generated and needs not be specified here.</para>
/// </summary>
[JsonPropertyName("products")]
public IReadOnlyList<Entity.Products>? Products { get; set; } = default!;

/// <summary>
/// <para>Defines configuration options to generate a Base Report</para>
/// </summary>
[JsonPropertyName("base_report")]
public Entity.CraCheckReportCreateBaseReportOptions? BaseReport { get; set; } = default!;

/// <summary>
/// <para>Defines configuration options to generate Cashflow Insights</para>
/// </summary>
[JsonPropertyName("cashflow_insights")]
public Entity.CraCheckReportCashflowInsightsGetOptions? CashflowInsights { get; set; } = default!;

/// <summary>
/// <para>Defines configuration options to generate Partner Insights</para>
/// </summary>
[JsonPropertyName("partner_insights")]
public Entity.CraCheckReportPartnerInsightsGetOptions? PartnerInsights { get; set; } = default!;

/// <summary>
/// <para>Describes the reason you are generating a Consumer Report for this user.</para>
/// </summary>
Expand Down
9 changes: 9 additions & 0 deletions src/Plaid/Cra/PlaidClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,15 @@ public sealed partial class PlaidClient
PostAsync("/cra/check_report/partner_insights/get", request)
.ParseResponseAsync<Cra.CraCheckReportPartnerInsightsGetResponse>();

/// <summary>
/// <para>This endpoint allows you to retrieve the Cashflow Insights report for your user. You should call this endpoint after you've received the <c>CHECK_REPORT_READY</c> webhook, either after the Link session for the user or after calling <c>/cra/check_report/create</c>. If the most recent consumer report for the user doesn’t have sufficient data to generate the insights, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling <c>/cra/check_report/create</c>.</para>
/// <para>If you did not initialize Link with the <c>cra_cashflow_insights</c> product or have generated a report using <c>/cra/check_report/create</c>, we will generate the insights when you call this endpoint. In this case, you may optionally provide parameters under <c>options</c> to configure which insights you want to receive.</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/check/api/#cracheck_reportcashflow_insightsget" /></remarks>
public Task<Cra.CraCheckReportCashflowInsightsGetResponse> CraCheckReportCashflowInsightsGetAsync(Cra.CraCheckReportCashflowInsightsGetRequest request) =>
PostAsync("/cra/check_report/cashflow_insights/get", request)
.ParseResponseAsync<Cra.CraCheckReportCashflowInsightsGetResponse>();

/// <summary>
/// <para>This endpoint allows you to retrieve the Network Insights product for your user. You should call this endpoint after you've received the <c>CHECK_REPORT_READY</c> webhook, either after the Link session for the user or after calling <c>/cra/check_report/create</c>. If the most recent consumer report for the user doesn’t have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling <c>/cra/check_report/create</c>.</para>
/// <para>If you did not initialize Link with the <c>cra_network_attributes</c> product or have generated a report using <c>/cra/check_report/create</c>, we will generate the attributes when you call this endpoint.</para>
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/Account.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public record Account
public Entity.AccountBalance Balances { get; init; } = default!;

/// <summary>
/// <para>The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.</para>
/// <para>The last 2-4 alphanumeric characters of either the account’s displayed mask or the account’s official account number. Note that the mask may be non-unique between an Items accounts.</para>
/// </summary>
[JsonPropertyName("mask")]
public string? Mask { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/AccountIdentity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public record AccountIdentity
public Entity.AccountBalance? Balances { get; init; } = default!;

/// <summary>
/// <para>The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.</para>
/// <para>The last 2-4 alphanumeric characters of either the account’s displayed mask or the account’s official account number. Note that the mask may be non-unique between an Items accounts.</para>
/// </summary>
[JsonPropertyName("mask")]
public string? Mask { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/AccountIdentityDocumentUpload.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public record AccountIdentityDocumentUpload
public Entity.AccountBalance? Balances { get; init; } = default!;

/// <summary>
/// <para>The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.</para>
/// <para>The last 2-4 alphanumeric characters of either the account’s displayed mask or the account’s official account number. Note that the mask may be non-unique between an Items accounts.</para>
/// </summary>
[JsonPropertyName("mask")]
public string? Mask { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/AccountIdentityMatchScore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public record AccountIdentityMatchScore
public Entity.AccountBalance? Balances { get; init; } = default!;

/// <summary>
/// <para>The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.</para>
/// <para>The last 2-4 alphanumeric characters of either the account’s displayed mask or the account’s official account number. Note that the mask may be non-unique between an Items accounts.</para>
/// </summary>
[JsonPropertyName("mask")]
public string? Mask { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/BaseReportAccount.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public record BaseReportAccount
public IReadOnlyList<Entity.BaseReportTransaction> Transactions { get; init; } = default!;

/// <summary>
/// <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.</para>
/// <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. This array can also be empty if no owners are found.</para>
/// </summary>
[JsonPropertyName("owners")]
public IReadOnlyList<Entity.Owner> Owners { get; init; } = default!;
Expand Down
8 changes: 8 additions & 0 deletions src/Plaid/Entity/CashflowAttributes.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>A map of cashflow attributes, where the key is a string, and the value is a float, int, or boolean.</para>
/// </summary>
public record CashflowAttributes
{
}
32 changes: 32 additions & 0 deletions src/Plaid/Entity/CraCashflowInsightsReport.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Contains data for the CRA Cashflow Insights Report.</para>
/// </summary>
public record CraCashflowInsightsReport
{
/// <summary>
/// <para>The unique identifier associated with the Network Attributes report object.</para>
/// </summary>
[JsonPropertyName("report_id")]
public string ReportId { get; init; } = default!;

/// <summary>
/// <para>The time when the Network Attributes Report was generated.</para>
/// </summary>
[JsonPropertyName("generated_time")]
public DateTimeOffset GeneratedTime { get; init; } = default!;

/// <summary>
/// <para>The results of the Plaid Check score</para>
/// </summary>
[JsonPropertyName("plaid_check_score")]
public Entity.PlaidCheckScore? PlaidCheckScore { get; init; } = default!;

/// <summary>
/// <para>A map of cashflow attributes, where the key is a string, and the value is a float, int, or boolean.</para>
/// </summary>
[JsonPropertyName("attributes")]
public Entity.CashflowAttributes? Attributes { get; init; } = default!;

}
20 changes: 20 additions & 0 deletions src/Plaid/Entity/CraCheckReportCashflowInsightsGetOptions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Defines configuration options to generate Cashflow Insights</para>
/// </summary>
public class CraCheckReportCashflowInsightsGetOptions
{
/// <summary>
/// <para>The version of the Plaid Check score to return</para>
/// </summary>
[JsonPropertyName("plaid_check_score_version")]
public string? PlaidCheckScoreVersion { get; set; } = default!;

/// <summary>
/// <para>The versions of cashflow attributes</para>
/// </summary>
[JsonPropertyName("attributes_version")]
public Entity.CashflowAttributesVersion? AttributesVersion { get; set; } = default!;

}
14 changes: 14 additions & 0 deletions src/Plaid/Entity/CraCheckReportCreateBaseReportOptions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Defines configuration options to generate a Base Report</para>
/// </summary>
public class CraCheckReportCreateBaseReportOptions
{
/// <summary>
/// <para>Client-generated identifier, which can be used by lenders to track loan applications.</para>
/// </summary>
[JsonPropertyName("client_report_id")]
public string? ClientReportId { get; set; } = default!;

}
8 changes: 7 additions & 1 deletion src/Plaid/Entity/InstitutionSupportedNetworks.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Contains the RTP network and types supported by the linked Item's institution.</para>
/// <para>Contains the RTP and RfP network and types supported by the linked Item's institution.</para>
/// </summary>
public record InstitutionSupportedNetworks
{
Expand All @@ -11,4 +11,10 @@ public record InstitutionSupportedNetworks
[JsonPropertyName("rtp")]
public Entity.TransferCapabilitiesGetRTP Rtp { get; init; } = default!;

/// <summary>
/// <para>Contains the supported service types in RfP</para>
/// </summary>
[JsonPropertyName("rfp")]
public Entity.TransferCapabilitiesGetRfP Rfp { get; init; } = default!;

}
6 changes: 6 additions & 0 deletions src/Plaid/Entity/InvestmentsAuthGetNumbers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,10 @@ public record InvestmentsAuthGetNumbers
[JsonPropertyName("aton")]
public IReadOnlyList<Entity.NumbersATON>? Aton { get; init; } = default!;

/// <summary>
///
/// </summary>
[JsonPropertyName("retirement_401k")]
public IReadOnlyList<Entity.NumbersRetirement401k>? Retirement401k { get; init; } = default!;

}
26 changes: 26 additions & 0 deletions src/Plaid/Entity/NumbersRetirement401k.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Identifying information for transferring holdings from a 401k account to another 401k account or IRA via the manual 401k rollover process.</para>
/// </summary>
public record NumbersRetirement401k
{
/// <summary>
/// <para>The Plaid account ID associated with the account numbers</para>
/// </summary>
[JsonPropertyName("account_id")]
public string AccountId { get; init; } = default!;

/// <summary>
/// <para>The plan number for the employer's 401k retirement plan</para>
/// </summary>
[JsonPropertyName("plan")]
public string? Plan { get; init; } = default!;

/// <summary>
/// <para>The full account number for the account</para>
/// </summary>
[JsonPropertyName("account")]
public string? Account { get; init; } = default!;

}
7 changes: 7 additions & 0 deletions src/Plaid/Entity/PaymentInitiationPayment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,4 +113,11 @@ public record PaymentInitiationPayment
[JsonPropertyName("transaction_id")]
public string? TransactionId { get; init; } = default!;

/// <summary>
/// <para>A unique identifier assigned by Plaid to each payment for tracking and reconcilliation purposes.</para>
/// <para>Note: Not all banks handle end_to_end_id consistently. To ensure accurate matching, clients should convert both the incoming end_to_end_id and the one provided by Plaid to the same case (either lower or upper) before comparison. For virtual account payments, Plaid manages this field automatically.</para>
/// </summary>
[JsonPropertyName("end_to_end_id")]
public string? EndToEndId { get; init; } = default!;

}
26 changes: 26 additions & 0 deletions src/Plaid/Entity/PlaidCheckScore.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The results of the Plaid Check score</para>
/// </summary>
public record PlaidCheckScore
{
/// <summary>
/// <para>The score returned by the Plaid Check Score model.</para>
/// </summary>
[JsonPropertyName("score")]
public decimal? Score { get; init; } = default!;

/// <summary>
/// <para>The reasons for an individual having risk according to the Plaid Check score.</para>
/// </summary>
[JsonPropertyName("reason_codes")]
public IReadOnlyList<string>? ReasonCodes { get; init; } = default!;

/// <summary>
/// <para>Human-readable description of why the Plaid Check score could not be computed.</para>
/// </summary>
[JsonPropertyName("error_reason")]
public string? ErrorReason { get; init; } = default!;

}
6 changes: 6 additions & 0 deletions src/Plaid/Entity/ProcessorTokenCreateRequestProcessorEnum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,12 @@ public enum ProcessorTokenCreateRequestProcessorEnum
[EnumMember(Value = "straddle")]
Straddle,

/// <summary>
///
/// </summary>
[EnumMember(Value = "loanpro")]
Loanpro,

/// <summary>
/// <para>Catch-all for unknown values returned by Plaid. If you encounter this, please check if there is a later version of the Going.Plaid library.</para>
/// </summary>
Expand Down
32 changes: 32 additions & 0 deletions src/Plaid/Entity/RecommendationString.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The recommendation result for that date.</para>
/// </summary>
public enum RecommendationString
{
/// <summary>
///
/// </summary>
[EnumMember(Value = "RECOMMENDED")]
Recommended,

/// <summary>
///
/// </summary>
[EnumMember(Value = "NOT_RECOMMENDED")]
NotRecommended,

/// <summary>
///
/// </summary>
[EnumMember(Value = "UNKNOWN")]
Unknown,

/// <summary>
/// <para>Catch-all for unknown values returned by Plaid. If you encounter this, please check if there is a later version of the Going.Plaid library.</para>
/// </summary>
[EnumMember(Value = "undefined")]
Undefined,

}
Loading

0 comments on commit 438d9cc

Please sign in to comment.