diff --git a/plaid-openapi b/plaid-openapi index 0fa84ff6..ca7f4919 160000 --- a/plaid-openapi +++ b/plaid-openapi @@ -1 +1 @@ -Subproject commit 0fa84ff6d92ace5e77e9138454d93eaffdb9ab6f +Subproject commit ca7f491936715a7652aa1ce277eb632eef27c9e8 diff --git a/src/Plaid/Credit/CreditRelayGetRequest.cs b/src/Plaid/Credit/CreditRelayGetRequest.cs index a7305b51..941d5fa4 100644 --- a/src/Plaid/Credit/CreditRelayGetRequest.cs +++ b/src/Plaid/Credit/CreditRelayGetRequest.cs @@ -12,7 +12,7 @@ public partial class CreditRelayGetRequest : RequestBase public string RelayToken { get; set; } = default!; /// - /// The report type. It can be assets or income. + /// The report type. It can be asset. Income report types are not yet supported. /// [JsonPropertyName("report_type")] public Entity.ReportType ReportType { get; set; } = default!; diff --git a/src/Plaid/Credit/CreditRelayRefreshRequest.cs b/src/Plaid/Credit/CreditRelayRefreshRequest.cs index 2e0f3ab1..739d71ed 100644 --- a/src/Plaid/Credit/CreditRelayRefreshRequest.cs +++ b/src/Plaid/Credit/CreditRelayRefreshRequest.cs @@ -12,7 +12,7 @@ public partial class CreditRelayRefreshRequest : RequestBase public string RelayToken { get; set; } = default!; /// - /// The report type. It can be assets or income. + /// The report type. It can be asset. Income report types are not yet supported. /// [JsonPropertyName("report_type")] public Entity.ReportType ReportType { get; set; } = default!; diff --git a/src/Plaid/Entity/ConsumerReportPermissiblePurpose.cs b/src/Plaid/Entity/ConsumerReportPermissiblePurpose.cs index 91214f24..be68c634 100644 --- a/src/Plaid/Entity/ConsumerReportPermissiblePurpose.cs +++ b/src/Plaid/Entity/ConsumerReportPermissiblePurpose.cs @@ -38,8 +38,8 @@ public enum ConsumerReportPermissiblePurpose /// /// For a legitimate business need in connection with a business transaction made primarily for personal, family, or household initiated by the consumer pursuant to FCRA Section 604(a)(3)(F)(i). /// - [EnumMember(Value = "LEGITIMATE_BUSINESS_NEED_TENANT_OTHER")] - LegitimateBusinessNeedTenantOther, + [EnumMember(Value = "LEGITIMATE_BUSINESS_NEED_OTHER")] + LegitimateBusinessNeedOther, /// /// In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), to evaluate an application’s profile to make an offer to the consumer. diff --git a/src/Plaid/Entity/ProcessorTokenCreateRequestProcessorEnum.cs b/src/Plaid/Entity/ProcessorTokenCreateRequestProcessorEnum.cs index 601b408b..9efbb50d 100644 --- a/src/Plaid/Entity/ProcessorTokenCreateRequestProcessorEnum.cs +++ b/src/Plaid/Entity/ProcessorTokenCreateRequestProcessorEnum.cs @@ -239,6 +239,12 @@ public enum ProcessorTokenCreateRequestProcessorEnum [EnumMember(Value = "bakkt")] Bakkt, + /// + /// + /// + [EnumMember(Value = "teal")] + Teal, + /// /// 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. /// diff --git a/src/Plaid/Entity/ReportType.cs b/src/Plaid/Entity/ReportType.cs index 616da7d8..a17b9abb 100644 --- a/src/Plaid/Entity/ReportType.cs +++ b/src/Plaid/Entity/ReportType.cs @@ -1,21 +1,15 @@ namespace Going.Plaid.Entity; /// -/// The report type. It can be assets or income. +/// The report type. It can be asset. Income report types are not yet supported. /// public enum ReportType { /// /// /// - [EnumMember(Value = "assets")] - Assets, - - /// - /// - /// - [EnumMember(Value = "income")] - Income, + [EnumMember(Value = "asset")] + Asset, /// /// 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. diff --git a/src/Plaid/Entity/TransferDiligenceStatus.cs b/src/Plaid/Entity/TransferDiligenceStatus.cs index dc957fac..3350c1ef 100644 --- a/src/Plaid/Entity/TransferDiligenceStatus.cs +++ b/src/Plaid/Entity/TransferDiligenceStatus.cs @@ -5,6 +5,18 @@ namespace Going.Plaid.Entity; /// public enum TransferDiligenceStatus { + /// + /// + /// + [EnumMember(Value = "not_submitted")] + NotSubmitted, + + /// + /// + /// + [EnumMember(Value = "submitted")] + Submitted, + /// /// /// diff --git a/src/Plaid/Entity/TransferLedgerBalance.cs b/src/Plaid/Entity/TransferLedgerBalance.cs new file mode 100644 index 00000000..0090bfc3 --- /dev/null +++ b/src/Plaid/Entity/TransferLedgerBalance.cs @@ -0,0 +1,19 @@ +namespace Going.Plaid.Entity; + +/// +/// Information about the balance of the ledger held with Plaid. +/// +public record TransferLedgerBalance +{ + /// + /// The amount of this balance available for use (decimal string with two digits of precision e.g. "10.00"). + /// + [JsonPropertyName("available")] + public string Available { get; init; } = default!; + + /// + /// The amount of pending funds that are in processing (decimal string with two digits of precision e.g. "10.00"). + /// + [JsonPropertyName("pending")] + public string Pending { get; init; } = default!; +} \ No newline at end of file diff --git a/src/Plaid/Transfer/PlaidClient.cs b/src/Plaid/Transfer/PlaidClient.cs index e6f6afae..29f18e3c 100644 --- a/src/Plaid/Transfer/PlaidClient.cs +++ b/src/Plaid/Transfer/PlaidClient.cs @@ -57,6 +57,14 @@ public sealed partial class PlaidClient PostAsync("/transfer/configuration/get", request) .ParseResponseAsync(); + /// + /// Use the /transfer/ledger/get endpoint to view a balance on the ledger held with Plaid. + /// + /// + public Task TransferLedgerGetAsync(Transfer.TransferLedgerGetRequest request) => + PostAsync("/transfer/ledger/get", request) + .ParseResponseAsync(); + /// /// Use the /transfer/metrics/get endpoint to view your transfer product usage metrics. /// diff --git a/src/Plaid/Transfer/TransferLedgerGetRequest.cs b/src/Plaid/Transfer/TransferLedgerGetRequest.cs new file mode 100644 index 00000000..4e4dea3c --- /dev/null +++ b/src/Plaid/Transfer/TransferLedgerGetRequest.cs @@ -0,0 +1,13 @@ +namespace Going.Plaid.Transfer; + +/// +/// Defines the request schema for /transfer/ledger/get +/// +public partial class TransferLedgerGetRequest : RequestBase +{ + /// + /// Client ID of the end customer. + /// + [JsonPropertyName("originator_client_id")] + public string? OriginatorClientId { get; set; } = default!; +} \ No newline at end of file diff --git a/src/Plaid/Transfer/TransferLedgerGetResponse.cs b/src/Plaid/Transfer/TransferLedgerGetResponse.cs new file mode 100644 index 00000000..e0257d44 --- /dev/null +++ b/src/Plaid/Transfer/TransferLedgerGetResponse.cs @@ -0,0 +1,13 @@ +namespace Going.Plaid.Transfer; + +/// +/// Defines the response schema for /transfer/ledger/get +/// +public record TransferLedgerGetResponse : ResponseBase +{ + /// + /// Information about the balance of the ledger held with Plaid. + /// + [JsonPropertyName("balance")] + public Entity.TransferLedgerBalance Balance { get; init; } = default!; +} \ No newline at end of file