Skip to content

Commit

Permalink
Update to Plaid v1.485.1
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Jan 17, 2024
1 parent a0ec2fa commit 4c31792
Show file tree
Hide file tree
Showing 50 changed files with 457 additions and 43 deletions.
2 changes: 1 addition & 1 deletion plaid-openapi
Submodule plaid-openapi updated 2 files
+1,796 −1,287 2020-09-14.yml
+22 −0 CHANGELOG.md
14 changes: 14 additions & 0 deletions src/Plaid/Beacon/BeaconDuplicateGetRequest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace Going.Plaid.Beacon;

/// <summary>
/// <para>Request input for getting a Beacon Duplicate</para>
/// </summary>
public partial class BeaconDuplicateGetRequest : RequestBase
{
/// <summary>
/// <para>ID of the associated Beacon Duplicate.</para>
/// </summary>
[JsonPropertyName("beacon_duplicate_id")]
public string BeaconDuplicateId { get; set; } = default!;

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

/// <summary>
/// <para>A Beacon Duplicate represents a pair of matching Beacon Users and an analysis of the fields they matched on.</para>
/// </summary>
public record BeaconDuplicateGetResponse : ResponseBase
{
/// <summary>
/// <para>ID of the associated Beacon Duplicate.</para>
/// </summary>
[JsonPropertyName("id")]
public string Id { get; init; } = default!;

/// <summary>
/// <para>A Beacon User Revision identifies a Beacon User at some point in its revision history.</para>
/// </summary>
[JsonPropertyName("beacon_user1")]
public Entity.BeaconUserRevision BeaconUser1 { get; init; } = default!;

/// <summary>
/// <para>A Beacon User Revision identifies a Beacon User at some point in its revision history.</para>
/// </summary>
[JsonPropertyName("beacon_user2")]
public Entity.BeaconUserRevision BeaconUser2 { get; init; } = default!;

/// <summary>
/// <para>Analysis of which fields matched between one Beacon User and another.</para>
/// </summary>
[JsonPropertyName("analysis")]
public Entity.BeaconMatchSummaryAnalysis Analysis { get; init; } = default!;

}
11 changes: 11 additions & 0 deletions src/Plaid/Beacon/PlaidClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,15 @@ public sealed partial class PlaidClient
PostAsync("/beacon/user/update", request)
.ParseResponseAsync<Beacon.BeaconUserUpdateResponse>();

/// <summary>
/// <para>Returns a Beacon Duplicate for a given Beacon Duplicate id.</para>
/// <para>A Beacon Duplicate represents a pair of similar Beacon Users within your organization.</para>
/// <para>Two Beacon User revisions are returned for each Duplicate record in either the <c>beacon_user1</c> or <c>beacon_user2</c> response fields.</para>
/// <para>The <c>analysis</c> field in the response indicates which fields matched between <c>beacon_user1</c> and <c>beacon_user2</c>.</para>
/// </summary>
/// <remarks><see href="https://plaid.com/docs/api/products/beacon/#beaconduplicateget" /></remarks>
public Task<Beacon.BeaconDuplicateGetResponse> BeaconDuplicateGetAsync(Beacon.BeaconDuplicateGetRequest request) =>
PostAsync("/beacon/duplicate/get", request)
.ParseResponseAsync<Beacon.BeaconDuplicateGetResponse>();

}
2 changes: 1 addition & 1 deletion src/Plaid/Entity/Account.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public record Account
public Entity.AccountVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <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 is currently an opt-in field and only supported for Chase Items.</para>
/// <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 is currently only supported for Chase Items.</para>
/// </summary>
[JsonPropertyName("persistent_account_id")]
public string? PersistentAccountId { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/AccountAssets.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public record AccountAssets
public Entity.AccountAssetsVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <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 is currently an opt-in field and only supported for Chase Items.</para>
/// <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 is currently only supported for Chase Items.</para>
/// </summary>
[JsonPropertyName("persistent_account_id")]
public string? PersistentAccountId { get; init; } = default!;
Expand Down
5 changes: 3 additions & 2 deletions src/Plaid/Entity/AccountBalance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,9 @@ public record AccountBalance
public string? UnofficialCurrencyCode { get; init; } = default!;

/// <summary>
/// <para>Timestamp in <a href="https://wikipedia.org/wiki/ISO_8601">ISO 8601</a> format (<c>YYYY-MM-DDTHH:mm:ssZ</c>) indicating the last time that the balance for the given account has been updated</para>
/// <para>This is currently only provided when the <c>min_last_updated_datetime</c> is passed when calling <c>/accounts/balance/get</c> for <c>ins_128026</c> (Capital One).</para>
/// <para>Timestamp in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> format (<c>YYYY-MM-DDTHH:mm:ssZ</c>) indicating the oldest acceptable balance when making a request to <c>/accounts/balance/get</c>.</para>
/// <para>This field is only used and expected when the institution is <c>ins_128026</c> (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an <c>INVALID_REQUEST</c> error with the code of <c>INVALID_FIELD</c> will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See <a href="https://en.wikipedia.org/wiki/ISO_8601">account type schema</a> for a full list of account types.</para>
/// <para>If the balance that is pulled is older than the given timestamp for Items with this field required, an <c>INVALID_REQUEST</c> error with the code of <c>LAST_UPDATED_DATETIME_OUT_OF_RANGE</c> will be returned with the most recent timestamp for the requested account contained in the response.</para>
/// </summary>
[JsonPropertyName("last_updated_datetime")]
public DateTimeOffset? LastUpdatedDatetime { 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 @@ -57,7 +57,7 @@ public record AccountIdentity
public Entity.AccountIdentityVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <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 is currently an opt-in field and only supported for Chase Items.</para>
/// <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 is currently only supported for Chase Items.</para>
/// </summary>
[JsonPropertyName("persistent_account_id")]
public string? PersistentAccountId { 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 @@ -57,7 +57,7 @@ public record AccountIdentityMatchScore
public Entity.AccountIdentityMatchScoreVerificationStatusEnum? VerificationStatus { get; init; } = default!;

/// <summary>
/// <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 is currently an opt-in field and only supported for Chase Items.</para>
/// <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 is currently only supported for Chase Items.</para>
/// </summary>
[JsonPropertyName("persistent_account_id")]
public string? PersistentAccountId { get; init; } = default!;
Expand Down
5 changes: 3 additions & 2 deletions src/Plaid/Entity/BaseReportAccountBalances.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,9 @@ public record BaseReportAccountBalances
public string? UnofficialCurrencyCode { get; init; } = default!;

/// <summary>
/// <para>Timestamp in <a href="https://wikipedia.org/wiki/ISO_8601">ISO 8601</a> format (<c>YYYY-MM-DDTHH:mm:ssZ</c>) indicating the last time that the balance for the given account has been updated</para>
/// <para>This is currently only provided when the <c>min_last_updated_datetime</c> is passed when calling <c>/accounts/balance/get</c> for <c>ins_128026</c> (Capital One).</para>
/// <para>Timestamp in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> format (<c>YYYY-MM-DDTHH:mm:ssZ</c>) indicating the oldest acceptable balance when making a request to <c>/accounts/balance/get</c>.</para>
/// <para>This field is only used and expected when the institution is <c>ins_128026</c> (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an <c>INVALID_REQUEST</c> error with the code of <c>INVALID_FIELD</c> will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See <a href="https://en.wikipedia.org/wiki/ISO_8601">account type schema</a> for a full list of account types.</para>
/// <para>If the balance that is pulled is older than the given timestamp for Items with this field required, an <c>INVALID_REQUEST</c> error with the code of <c>LAST_UPDATED_DATETIME_OUT_OF_RANGE</c> will be returned with the most recent timestamp for the requested account contained in the response.</para>
/// </summary>
[JsonPropertyName("last_updated_datetime")]
public DateTimeOffset? LastUpdatedDatetime { get; init; } = default!;
Expand Down
50 changes: 50 additions & 0 deletions src/Plaid/Entity/BeaconMatchSummaryAnalysis.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Analysis of which fields matched between one Beacon User and another.</para>
/// </summary>
public record BeaconMatchSummaryAnalysis
{
/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("address")]
public Entity.BeaconMatchSummaryCode Address { get; init; } = default!;

/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("date_of_birth")]
public Entity.BeaconMatchSummaryCode DateOfBirth { get; init; } = default!;

/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("email_address")]
public Entity.BeaconMatchSummaryCode EmailAddress { get; init; } = default!;

/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("name")]
public Entity.BeaconMatchSummaryCode Name { get; init; } = default!;

/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("id_number")]
public Entity.BeaconMatchSummaryCode IdNumber { get; init; } = default!;

/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("ip_address")]
public Entity.BeaconMatchSummaryCode IpAddress { get; init; } = default!;

/// <summary>
/// <para>An enum indicating the match type between two Beacon Users.</para>
/// </summary>
[JsonPropertyName("phone_number")]
public Entity.BeaconMatchSummaryCode PhoneNumber { get; init; } = default!;

}
2 changes: 1 addition & 1 deletion src/Plaid/Entity/BeaconUserAddress.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace Going.Plaid.Entity;
public record BeaconUserAddress
{
/// <summary>
/// <para>The primary street portion of an address. If the user has submitted their address, this field will always be filled.</para>
/// <para>The primary street portion of an address. If an address is provided, this field will always be filled.</para>
/// </summary>
[JsonPropertyName("street")]
public string Street { get; init; } = default!;
Expand Down
2 changes: 1 addition & 1 deletion src/Plaid/Entity/BeaconUserRequestAddress.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Going.Plaid.Entity;
public class BeaconUserRequestAddress
{
/// <summary>
/// <para>The primary street portion of an address. If the user has submitted their address, this field will always be filled.</para>
/// <para>The primary street portion of an address. If an address is provided, this field will always be filled.</para>
/// </summary>
[JsonPropertyName("street")]
public string Street { get; set; } = default!;
Expand Down
20 changes: 20 additions & 0 deletions src/Plaid/Entity/BeaconUserRevision.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>A Beacon User Revision identifies a Beacon User at some point in its revision history.</para>
/// </summary>
public record BeaconUserRevision
{
/// <summary>
/// <para>ID of the associated Beacon User.</para>
/// </summary>
[JsonPropertyName("id")]
public string Id { get; init; } = default!;

/// <summary>
/// <para>The <c>version</c> field begins with 1 and increments with each subsequent revision.</para>
/// </summary>
[JsonPropertyName("version")]
public int Version { get; init; } = default!;

}
2 changes: 1 addition & 1 deletion src/Plaid/Entity/Holding.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public record Holding
public decimal InstitutionValue { get; init; } = default!;

/// <summary>
/// <para>The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding.</para>
/// <para>The total cost basis of the holding (e.g., the total amount spent to acquire all assets currently in the holding).</para>
/// </summary>
[JsonPropertyName("cost_basis")]
public decimal? CostBasis { get; init; } = default!;
Expand Down
4 changes: 2 additions & 2 deletions src/Plaid/Entity/IdentityVerification.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ public record IdentityVerification
public string? ShareableUrl { get; init; } = default!;

/// <summary>
/// <para>The resource ID and version number of the template configuring the behavior of a given identity verification.</para>
/// <para>The resource ID and version number of the template configuring the behavior of a given Identity Verification.</para>
/// </summary>
[JsonPropertyName("template")]
public Entity.IdentityVerificationTemplateReference Template { get; init; } = default!;

/// <summary>
/// <para>The identity data that was either collected from the user or provided via API in order to perform an identity verification.</para>
/// <para>The identity data that was either collected from the user or provided via API in order to perform an Identity Verification.</para>
/// </summary>
[JsonPropertyName("user")]
public Entity.IdentityVerificationUserData User { get; init; } = default!;
Expand Down
58 changes: 58 additions & 0 deletions src/Plaid/Entity/IdentityVerificationAutofillAddress.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
namespace Going.Plaid.Entity;

/// <summary>
/// <para>Even if an address has been autofilled, some fields may be null depending on the region's addressing system. For example:</para>
/// <para>Addresses from the United Kingdom will not include a region</para>
/// <para>Addresses from Hong Kong will not include postal code</para>
/// </summary>
public record IdentityVerificationAutofillAddress
{
/// <summary>
/// <para>The primary street portion of an address. If an address is provided, this field will always be filled.</para>
/// </summary>
[JsonPropertyName("street")]
public string Street { get; init; } = default!;

/// <summary>
/// <para>Extra street information, like an apartment or suite number.</para>
/// </summary>
[JsonPropertyName("street2")]
public string? Street2 { get; init; } = default!;

/// <summary>
/// <para>City from the end user's address</para>
/// </summary>
[JsonPropertyName("city")]
public string? City { get; init; } = default!;

/// <summary>
/// <para>An ISO 3166-2 subdivision code. Related terms would be "state", "province", "prefecture", "zone", "subdivision", etc.</para>
/// </summary>
[JsonPropertyName("region")]
public string? Region { get; init; } = default!;

/// <summary>
/// <para>The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.</para>
/// </summary>
[JsonPropertyName("postal_code")]
public string? PostalCode { get; init; } = default!;

/// <summary>
/// <para>Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.</para>
/// </summary>
[JsonPropertyName("country")]
public string Country { get; init; } = default!;

/// <summary>
/// <para>Field describing whether the associated address is a post office box. Will be <c>yes</c> when a P.O. box is detected, <c>no</c> when Plaid confirmed the address is not a P.O. box, and <c>no_data</c> when Plaid was not able to determine if the address is a P.O. box.</para>
/// </summary>
[JsonPropertyName("po_box")]
public Entity.POBoxStatus PoBox { get; init; } = default!;

/// <summary>
///
/// </summary>
[JsonPropertyName("type")]
public Entity.AddressPurposeLabel Type { get; init; } = default!;

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

/// <summary>
/// <para>A status enum indicating whether autofill succeeded or failed.</para>
/// </summary>
public enum IdentityVerificationAutofillStatus
{
/// <summary>
///
/// </summary>
[EnumMember(Value = "success")]
Success,

/// <summary>
///
/// </summary>
[EnumMember(Value = "failed")]
Failed,

/// <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,

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

/// <summary>
/// <para>User information that was autofilled. All this information should be confirmed by the user before using.</para>
/// </summary>
public record IdentityVerificationAutofillUserData
{
/// <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>
[JsonPropertyName("name")]
public Entity.IdentityVerificationResponseUserName? Name { get; init; } = default!;

/// <summary>
/// <para>Even if an address has been autofilled, some fields may be null depending on the region's addressing system. For example:</para>
/// <para>Addresses from the United Kingdom will not include a region</para>
/// <para>Addresses from Hong Kong will not include postal code</para>
/// </summary>
[JsonPropertyName("address")]
public Entity.IdentityVerificationAutofillAddress? Address { get; init; } = default!;

/// <summary>
/// <para>ID number submitted by the user, currently used only for the Identity Verification product. If the user has not submitted this data yet, this field will be <c>null</c>. Otherwise, both fields are guaranteed to be filled.</para>
/// </summary>
[JsonPropertyName("id_number")]
public Entity.UserIDNumber? IdNumber { get; init; } = default!;

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

/// <summary>
/// <para>The status of a step in the identity verification process.</para>
/// <para>The status of a step in the Identity Verification process.</para>
/// </summary>
public enum IdentityVerificationStepStatus
{
Expand Down
Loading

0 comments on commit 4c31792

Please sign in to comment.