Skip to content

Commit

Permalink
Update to Plaid v1.343.0
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Mar 22, 2023
1 parent def8c95 commit 382b036
Show file tree
Hide file tree
Showing 82 changed files with 1,200 additions and 52 deletions.
2 changes: 1 addition & 1 deletion plaid-openapi
Submodule plaid-openapi updated 2 files
+981 −69 2020-09-14.yml
+63 −0 CHANGELOG.md
6 changes: 6 additions & 0 deletions src/Plaid/AssetReport/AssetReportCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ public partial class AssetReportCreateRequest : RequestBase
[JsonPropertyName("access_tokens")]
public IReadOnlyList<string> AccessTokens { get; set; } = default!;

/// <summary>
/// <para>The user token associated with the User for which to create an asset report for. All items associated with the User will be included in the report.</para>
/// </summary>
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;

/// <summary>
/// <para>The maximum integer number of days of history to include in the Asset Report. If using Fannie Mae Day 1 Certainty, <c>days_requested</c> must be at least 61 for new originations or at least 31 for refinancings.</para>
/// <para>An Asset Report requested with "Additional History" (that is, with more than 61 days of transaction history) will incur an Additional History fee.</para>
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Credit/CreditPayrollIncomeRefreshRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,10 @@ public partial class CreditPayrollIncomeRefreshRequest : RequestBase
/// </summary>
[JsonPropertyName("user_token")]
public string UserToken { get; set; } = default!;

/// <summary>
/// <para>An optional object for <c>/credit/payroll_income/refresh</c> request options.</para>
/// </summary>
[JsonPropertyName("options")]
public Entity.CreditPayrollIncomeRefreshRequestOptions Options { get; set; } = default!;
}
6 changes: 3 additions & 3 deletions src/Plaid/Entity/AccountIdentityMatchScore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,19 +69,19 @@ public record AccountIdentityMatchScore
public Entity.NameMatchScore? LegalName { get; init; } = default!;

/// <summary>
/// <para>Score found by matching phone number provided by the API with the phone number on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.</para>
/// <para>Score found by matching phone number provided by the API with the phone number on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.</para>
/// </summary>
[JsonPropertyName("phone_number")]
public Entity.PhoneNumberMatchScore? PhoneNumber { get; init; } = default!;

/// <summary>
/// <para>Score found by matching email provided by the API with the email on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.</para>
/// <para>Score found by matching email provided by the API with the email on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.</para>
/// </summary>
[JsonPropertyName("email_address")]
public Entity.EmailAddressMatchScore? EmailAddress { get; init; } = default!;

/// <summary>
/// <para>Score found by matching address provided by the API with the address on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.</para>
/// <para>Score found by matching address provided by the API with the address on the account at the financial institution. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.</para>
/// </summary>
[JsonPropertyName("address")]
public Entity.AddressMatchScore? Address { get; init; } = default!;
Expand Down
4 changes: 2 additions & 2 deletions src/Plaid/Entity/AddressMatchScore.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Score found by matching address provided by the API with the address on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.</para>
/// <para>Score found by matching address provided by the API with the address on the account at the financial institution. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.</para>
/// </summary>
public record AddressMatchScore
{
/// <summary>
/// <para>Match score for address. 100 is a perfect match and 0 is a no match. If the address is missing from either the API or financial institution, this is empty.</para>
/// <para>Match score for address. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the address is missing from either the API or financial institution, this is empty.</para>
/// </summary>
[JsonPropertyName("score")]
public int? Score { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/AssetReportCreateRequestOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class AssetReportCreateRequestOptions
public IReadOnlyList<string> Products { get; set; } = default!;

/// <summary>
/// <para>Additional information that can be included in the asset report. Possible values: <c>"investments"</c>, <c>"fast_assets"</c></para>
/// <para>Additional information that can be included in the asset report. Possible values: <c>"fast_assets"</c></para>
/// </summary>
[JsonPropertyName("add_ons")]
public IReadOnlyList<Entity.AssetReportAddOns> AddOns { get; set; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/AssetReportGetRequestOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Going.Plaid.Entity;
public class AssetReportGetRequestOptions
{
/// <summary>
/// <para>The maximum integer number of days of history to include in the Asset Report.</para>
/// <para>The maximum number of days of history to include in the Asset Report.</para>
/// </summary>
[JsonPropertyName("days_to_include")]
public int? DaysToInclude { get; set; } = default!;
Expand Down
3 changes: 2 additions & 1 deletion src/Plaid/Entity/AssetReportTransaction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ public record AssetReportTransaction
public string? DateTransacted { get; init; } = default!;

/// <summary>
/// <para>Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases.</para>
/// <para>Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases. Please reach out to your account manager or sales representative if you would like to receive this field.</para>
/// <para>See the <a href="https://plaid.com/documents/credit-category-taxonomy.csv"><c>taxonomy csv file</c></a> for a full list of credit categories.</para>
/// </summary>
[JsonPropertyName("credit_category")]
public Entity.CreditCategory? CreditCategory { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/ClientProvidedTransaction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class ClientProvidedTransaction
public string IsoCurrencyCode { get; set; } = default!;

/// <summary>
/// <para>A representation of where a transaction took place. </para>
/// <para>A representation of where a transaction took place.</para>
/// <para>Use this field to pass in structured location information you may have about your transactions. Providing location data is optional but can increase result quality. If you have unstructured location information, it may be appended to the <c>description</c> field.</para>
/// </summary>
[JsonPropertyName("location")]
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/ClientProvidedTransactionLocation.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>A representation of where a transaction took place. </para>
/// <para>A representation of where a transaction took place.</para>
/// <para>Use this field to pass in structured location information you may have about your transactions. Providing location data is optional but can increase result quality. If you have unstructured location information, it may be appended to the <c>description</c> field.</para>
/// </summary>
public class ClientProvidedTransactionLocation
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Entity/CountryCode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ public enum CountryCode
[EnumMember(Value = "LV")]
Lv,

/// <summary>
///
/// </summary>
[EnumMember(Value = "PT")]
Pt,

/// <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
6 changes: 6 additions & 0 deletions src/Plaid/Entity/CreditBankIncomePayFrequency.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ public enum CreditBankIncomePayFrequency
[EnumMember(Value = "MONTHLY")]
Monthly,

/// <summary>
///
/// </summary>
[EnumMember(Value = "DAILY")]
Daily,

/// <summary>
///
/// </summary>
Expand Down
3 changes: 2 additions & 1 deletion src/Plaid/Entity/CreditCategory.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases.</para>
/// <para>Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases. Please reach out to your account manager or sales representative if you would like to receive this field.</para>
/// <para>See the <a href="https://plaid.com/documents/credit-category-taxonomy.csv"><c>taxonomy csv file</c></a> for a full list of credit categories.</para>
/// </summary>
public record CreditCategory
{
Expand Down
19 changes: 19 additions & 0 deletions src/Plaid/Entity/CreditPayrollIncomeRefreshRequestOptions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>An optional object for <c>/credit/payroll_income/refresh</c> request options.</para>
/// </summary>
public class CreditPayrollIncomeRefreshRequestOptions
{
/// <summary>
/// <para>An array of <c>item_id</c>s to be refreshed. Each <c>item_id</c> should uniquely identify a payroll income item.</para>
/// </summary>
[JsonPropertyName("item_ids")]
public IReadOnlyList<string> ItemIds { get; set; } = default!;

/// <summary>
/// <para>The URL where Plaid will send the payroll income refresh webhook.</para>
/// </summary>
[JsonPropertyName("webhook")]
public string Webhook { get; set; } = default!;
}
25 changes: 25 additions & 0 deletions src/Plaid/Entity/CreditSessionBankEmploymentResult.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The details of a bank employment verification in Link.</para>
/// </summary>
public record CreditSessionBankEmploymentResult
{
/// <summary>
/// <para>The terminal status of the bank employment verification.</para>
/// </summary>
[JsonPropertyName("status")]
public Entity.CreditSessionBankEmploymentStatus Status { get; init; } = default!;

/// <summary>
/// <para>The Plaid Item ID. The <c>item_id</c> is always unique; linking the same account at the same institution twice will result in two Items with different <c>item_id</c> values. Like all Plaid identifiers, the <c>item_id</c> is case-sensitive.</para>
/// </summary>
[JsonPropertyName("item_id")]
public string ItemId { get; init; } = default!;

/// <summary>
/// <para>The Plaid Institution ID associated with the Item.</para>
/// </summary>
[JsonPropertyName("institution_id")]
public string InstitutionId { get; init; } = default!;
}
31 changes: 31 additions & 0 deletions src/Plaid/Entity/CreditSessionBankEmploymentStatus.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The terminal status of the bank employment verification.</para>
/// </summary>
public enum CreditSessionBankEmploymentStatus
{
/// <summary>
/// <para>User has approved and verified their employment.</para>
/// </summary>
[EnumMember(Value = "APPROVED")]
Approved,

/// <summary>
///
/// </summary>
[EnumMember(Value = "NO_EMPLOYERS_FOUND")]
NoEmployersFound,

/// <summary>
/// <para>The user explicitly indicated that they did not see their current or previous employer in the list of employer names found.</para>
/// </summary>
[EnumMember(Value = "EMPLOYER_NOT_LISTED")]
EmployerNotListed,

/// <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,
}
6 changes: 6 additions & 0 deletions src/Plaid/Entity/CreditSessionResults.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ public record CreditSessionResults
[JsonPropertyName("bank_income_results")]
public IReadOnlyList<Entity.CreditSessionBankIncomeResult> BankIncomeResults { get; init; } = default!;

/// <summary>
/// <para>The set of bank employment verifications for the Link session.</para>
/// </summary>
[JsonPropertyName("bank_employment_results")]
public IReadOnlyList<Entity.CreditSessionBankEmploymentResult> BankEmploymentResults { get; init; } = default!;

/// <summary>
/// <para>The set of payroll income verifications for the Link session.</para>
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/EmailAddressMatchScore.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Score found by matching email provided by the API with the email on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.</para>
/// <para>Score found by matching email provided by the API with the email on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.</para>
/// </summary>
public record EmailAddressMatchScore
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class ExternalPaymentInitiationConsentOptions
public bool? RequestRefundDetails { get; set; } = default!;

/// <summary>
/// <para>The International Bank Account Number (IBAN) for the payer's account. If provided, the end user will be able to set up payment consent using only the specified bank account.</para>
/// <para>The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to set up payment consent using only the specified bank account if provided.</para>
/// </summary>
[JsonPropertyName("iban")]
public string? Iban { get; set; } = default!;
Expand Down
6 changes: 6 additions & 0 deletions src/Plaid/Entity/IdentityVerification.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ public record IdentityVerification
[JsonPropertyName("kyc_check")]
public Entity.KYCCheckDetails? KycCheck { get; init; } = default!;

/// <summary>
/// <para>Additional information for the <c>risk_check</c> step.</para>
/// </summary>
[JsonPropertyName("risk_check")]
public Entity.RiskCheckDetails? RiskCheck { get; init; } = default!;

/// <summary>
/// <para>ID of the associated screening.</para>
/// </summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Plaid/Entity/IdentityVerificationRequestUser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ public class IdentityVerificationRequestUser
public DateOnly DateOfBirth { get; set; } = default!;

/// <summary>
/// <para>The full name provided by the user. If the user has not submitted their name, this field will be null. Otherwise, both fields are guaranteed to be filled.</para>
/// <para>You can use this field to pre-populate the user's legal name; if it is provided here, they will not be prompted to enter their name in the identity verification attempt.</para>
/// </summary>
[JsonPropertyName("name")]
public Entity.UserName? Name { get; set; } = default!;
public Entity.IdentityVerificationRequestUserName? Name { get; set; } = default!;

/// <summary>
/// <para>Home address for the user.</para>
Expand Down
19 changes: 19 additions & 0 deletions src/Plaid/Entity/IdentityVerificationRequestUserName.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>You can use this field to pre-populate the user's legal name; if it is provided here, they will not be prompted to enter their name in the identity verification attempt.</para>
/// </summary>
public class IdentityVerificationRequestUserName
{
/// <summary>
/// <para>A string with at least one non-whitespace character, with a max length of 100 characters.</para>
/// </summary>
[JsonPropertyName("given_name")]
public string GivenName { get; set; } = default!;

/// <summary>
/// <para>A string with at least one non-whitespace character, with a max length of 100 characters.</para>
/// </summary>
[JsonPropertyName("family_name")]
public string FamilyName { get; set; } = default!;
}
19 changes: 19 additions & 0 deletions src/Plaid/Entity/IdentityVerificationResponseUserName.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>The full name provided by the user. If the user has not submitted their name, this field will be null. Otherwise, both fields are guaranteed to be filled.</para>
/// </summary>
public record IdentityVerificationResponseUserName
{
/// <summary>
/// <para>A string with at least one non-whitespace character, with a max length of 100 characters.</para>
/// </summary>
[JsonPropertyName("given_name")]
public string GivenName { get; init; } = default!;

/// <summary>
/// <para>A string with at least one non-whitespace character, with a max length of 100 characters.</para>
/// </summary>
[JsonPropertyName("family_name")]
public string FamilyName { get; init; } = default!;
}
2 changes: 1 addition & 1 deletion src/Plaid/Entity/IdentityVerificationUserData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public record IdentityVerificationUserData
/// <para>The full name provided by the user. If the user has not submitted their name, this field will be null. Otherwise, both fields are guaranteed to be filled.</para>
/// </summary>
[JsonPropertyName("name")]
public Entity.UserName? Name { get; init; } = default!;
public Entity.IdentityVerificationResponseUserName? Name { get; init; } = default!;

/// <summary>
/// <para>Even if an address has been collected, some fields may be null depending on the region's addressing system. For example:</para>
Expand Down
8 changes: 7 additions & 1 deletion src/Plaid/Entity/Institution.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public record Institution
public string? PrimaryColor { get; init; } = default!;

/// <summary>
/// <para>Base64 encoded representation of the institution's logo</para>
/// <para>Base64 encoded representation of the institution's logo, returned as a base64 encoded 152x152 PNG. Not all institutions' logos are available.</para>
/// </summary>
[JsonPropertyName("logo")]
public string? Logo { get; init; } = default!;
Expand All @@ -53,6 +53,12 @@ public record Institution
[JsonPropertyName("routing_numbers")]
public IReadOnlyList<string> RoutingNumbers { get; init; } = default!;

/// <summary>
/// <para>A partial list of DTC numbers associated with the institution.</para>
/// </summary>
[JsonPropertyName("dtc_numbers")]
public IReadOnlyList<string> DtcNumbers { get; init; } = default!;

/// <summary>
/// <para>Indicates that the institution has a mandatory OAuth login flow. Note that <c>oauth</c> may be <c>false</c> even for institutions that support OAuth, if the institution is in the process of migrating to OAuth and some active Items still exist that do not use OAuth.</para>
/// </summary>
Expand Down
6 changes: 3 additions & 3 deletions src/Plaid/Entity/Item.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Going.Plaid.Entity;
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Metadata about the Item.</para>
Expand Down Expand Up @@ -27,7 +27,7 @@ public record Item
/// <para>We use standard HTTP response codes for success and failure notifications, and our errors are further classified by <c>error_type</c>. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. An Item with a non-<c>null</c> error object will only be part of an API response when calling <c>/item/get</c> to view Item status. Otherwise, error fields will be <c>null</c> if no error has occurred; if an error has occurred, an error code will be returned instead.</para>
/// </summary>
[JsonPropertyName("error")]
public PlaidError? Error { get; init; } = default!;
public Entity.PlaidError? Error { get; init; } = default!;

/// <summary>
/// <para>A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with <c>billed_products</c>.</para>
Expand Down Expand Up @@ -65,4 +65,4 @@ public record Item
/// </summary>
[JsonPropertyName("update_type")]
public Entity.ItemUpdateTypeEnum UpdateType { get; init; } = default!;
}
}
Loading

0 comments on commit 382b036

Please sign in to comment.