diff --git a/latest/openapi.bundled.json b/latest/openapi.bundled.json index f187e07..8590c2b 100644 --- a/latest/openapi.bundled.json +++ b/latest/openapi.bundled.json @@ -1628,6 +1628,16 @@ "$ref": "#/components/parameters/AccountIdParam" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountPaymentInstrumentCreateRequest" + } + } + } + }, "responses": { "200": { "description": "The newly created account payment instrument.", @@ -10655,6 +10665,338 @@ "three_ds" ] }, + "micro_deposits": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type micro_deposits.", + "properties": { + "amounts": { + "type": "array", + "description": "The latest amounts that this verification session was updated with.", + "items": { + "type": "integer" + } + } + } + }, + "plaid": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type plaid.", + "properties": { + "balances": { + "type": "object", + "description": "The raw balance data received from Plaid." + }, + "transactions": { + "type": "array", + "description": "The raw transaction data received from Plaid.", + "items": { + "type": "object" + } + } + } + }, + "mx": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type mx.", + "properties": { + "account": { + "type": "object", + "description": "The raw account data received from MX." + }, + "transactions": { + "type": "array", + "description": "The raw transaction data received from MX.", + "items": { + "type": "object" + } + } + } + }, + "teller": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type teller.", + "properties": { + "balances": { + "type": "object", + "description": "The raw balance data received from Teller." + }, + "transactions": { + "type": "array", + "description": "The raw transaction data received from Teller.", + "items": { + "type": "object" + } + } + } + }, + "auto_verify": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type auto_verify." + }, + "trusted_provisioner": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type trusted_provisioner." + }, + "standard": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type standard.", + "properties": { + "number": { + "type": [ + "string", + "null" + ], + "description": "The masked card number. Null if the number still needs to be provided." + } + } + }, + "pre_auth": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type pre_auth.", + "properties": { + "number": { + "type": [ + "string", + "null" + ], + "description": "The masked card number. Null if the number still needs to be provided." + }, + "exp_month": { + "type": [ + "string", + "null" + ], + "description": "The masked card expiration month. Null if it still needs to be provided." + }, + "exp_year": { + "type": [ + "string", + "null" + ], + "description": "The masked card expiration year. Null if it still needs to be provided." + }, + "exp_check": { + "type": [ + "string", + "null" + ], + "description": "The card expiration verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + }, + "cvv": { + "type": [ + "string", + "null" + ], + "description": "The masked card CVV. Null if it still needs to be provided." + }, + "cvv_check": { + "type": [ + "string", + "null" + ], + "description": "The card CVV verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + }, + "billing_zip_code": { + "type": [ + "string", + "null" + ], + "description": "The masked billing zip code." + }, + "billing_zip_code_check": { + "type": [ + "string", + "null" + ], + "description": "The billing zip code verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + }, + "pre_auth_check": { + "type": [ + "string", + "null" + ], + "description": "The pre-auth verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + } + } + }, + "network": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type network.", + "properties": { + "number": { + "type": [ + "string", + "null" + ], + "description": "The masked card number. Null if the number still needs to be provided." + }, + "exp_month": { + "type": [ + "string", + "null" + ], + "description": "The masked card expiration month. Null if it still needs to be provided." + }, + "exp_year": { + "type": [ + "string", + "null" + ], + "description": "The masked card expiration year. Null if it still needs to be provided." + }, + "exp_check": { + "type": [ + "string", + "null" + ], + "description": "The card expiration verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + }, + "cvv": { + "type": [ + "string", + "null" + ], + "description": "The masked card CVV. Null if it still needs to be provided." + }, + "cvv_check": { + "type": [ + "string", + "null" + ], + "description": "The card CVV verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + }, + "billing_zip_code": { + "type": [ + "string", + "null" + ], + "description": "The masked billing zip code." + }, + "billing_zip_code_check": { + "type": [ + "string", + "null" + ], + "description": "The billing zip code verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + }, + "network_check": { + "type": [ + "string", + "null" + ], + "description": "The network verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + } + } + }, + "instant": { + "type": [ + "object", + "null" + ], + "description": "Populated when the verification session is of type instant.", + "properties": { + "number": { + "type": [ + "string", + "null" + ], + "description": "The masked card number. Null if the number still needs to be provided." + }, + "exp_month": { + "type": [ + "string", + "null" + ], + "description": "The masked card expiration month. Null if it still needs to be provided." + }, + "exp_year": { + "type": [ + "string", + "null" + ], + "description": "The masked card expiration year. Null if it still needs to be provided." + }, + "exp_check": { + "type": [ + "string", + "null" + ], + "description": "The card expiration verification check result.", + "enum": [ + "pass", + "fail", + "unavailable" + ] + } + } + }, "error": { "$ref": "#/components/schemas/AccountVerificationSessionResourceError" }, @@ -10941,15 +11283,78 @@ "type": "string", "description": "Current status of the payment instrument.", "enum": [ - "active", "pending", - "failed", - "closed" + "in_progress", + "completed" ] }, "type": { "type": "string", - "description": "The type of payment instrument." + "description": "The type of payment instrument.", + "enum": [ + "card", + "network_token", + "inbound_achwire_payment" + ] + }, + "chargeable": { + "type": "boolean", + "description": "Whether this payment instrument is currently chargeable." + }, + "card": { + "type": [ + "object", + "null" + ], + "description": "Card details. Present when type is card.", + "properties": { + "number": { + "type": "string", + "description": "The card number." + }, + "exp_month": { + "type": "string", + "description": "Card expiration month." + }, + "exp_year": { + "type": "string", + "description": "Card expiration year." + }, + "billing_zip_code": { + "type": "string", + "description": "Billing zip code." + } + } + }, + "network_token": { + "type": [ + "object", + "null" + ], + "description": "Network token details. Present when type is network_token.", + "properties": { + "token": { + "type": "string", + "description": "The network token value." + } + } + }, + "inbound_achwire_payment": { + "type": [ + "object", + "null" + ], + "description": "ACH/wire payment details. Present when type is inbound_achwire_payment.", + "properties": { + "account_number": { + "type": "string", + "description": "The account number." + }, + "routing_number": { + "type": "string", + "description": "The routing number." + } + } }, "error": { "$ref": "#/components/schemas/ResourceError" @@ -10972,9 +11377,6 @@ "required": [ "id", "account_id", - "network", - "issuer", - "last4", "status", "created_at", "updated_at" @@ -10991,12 +11393,82 @@ "description": "The account this card brand belongs to.", "pattern": "^acc_\\w+$" }, + "brands": { + "type": [ + "array", + "null" + ], + "description": "Array of card brand entries for this account.", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the brand entry." + }, + "card_product_id": { + "type": [ + "string", + "null" + ], + "description": "Associated card product ID." + }, + "description": { + "type": "string", + "description": "Description of the brand." + }, + "name": { + "type": "string", + "description": "Name of the brand." + }, + "issuer": { + "type": "string", + "description": "The card issuer." + }, + "network": { + "type": "string", + "description": "The card network." + }, + "network_tier": { + "type": "string", + "description": "The tier of the card network." + }, + "type": { + "type": [ + "string", + "null" + ], + "description": "The brand type." + }, + "url": { + "type": "string", + "description": "URL for the brand image." + } + } + } + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source of the card brand data.", + "enum": [ + "network", + "method", + null + ] + }, + "shared": { + "type": "boolean", + "description": "Whether this card brand record is shared." + }, "network": { "type": [ "string", "null" ], - "description": "The card network.", + "description": "The card network. Deprecated in favor of brands[].network.", "enum": [ "visa", "mastercard", @@ -11010,14 +11482,14 @@ "string", "null" ], - "description": "The card issuer." + "description": "The card issuer. Deprecated in favor of brands[].issuer." }, "last4": { "type": [ "string", "null" ], - "description": "Last 4 digits of the card number." + "description": "Last 4 digits of the card number. Deprecated in favor of brands[]." }, "status": { "type": "string", @@ -12128,6 +12600,24 @@ } ] }, + "AccountPaymentInstrumentCreateRequest": { + "type": "object", + "description": "Request body for creating an account payment instrument.", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of payment instrument to create.", + "enum": [ + "card", + "network_token", + "inbound_achwire_payment" + ] + } + } + }, "AccountPaymentInstrumentResponse": { "allOf": [ { @@ -12440,12 +12930,8 @@ ], "properties": { "enroll": { - "type": "array", - "description": "Array of subscription names to enroll.", - "items": { - "type": "string" - }, - "minItems": 1 + "type": "string", + "description": "Subscription name to enroll." } } }, @@ -12753,7 +13239,7 @@ "properties": { "micro_deposits": { "type": "object", - "description": "Micro deposit verification amounts.", + "description": "Micro deposit verification amounts. Required for micro_deposits type.", "properties": { "amounts": { "type": "array", @@ -12763,6 +13249,129 @@ } } } + }, + "plaid": { + "type": "object", + "description": "Plaid verification data. Required for plaid type.", + "properties": { + "balances": { + "type": "object", + "description": "The raw balance data received from Plaid." + }, + "transactions": { + "type": "array", + "description": "The raw transaction data received from Plaid.", + "items": { + "type": "object" + } + } + } + }, + "mx": { + "type": "object", + "description": "MX verification data. Required for mx type.", + "properties": { + "account": { + "type": "object", + "description": "The raw account data received from MX." + }, + "transactions": { + "type": "array", + "description": "The raw transaction data received from MX.", + "items": { + "type": "object" + } + } + } + }, + "teller": { + "type": "object", + "description": "Teller verification data. Required for teller type.", + "properties": { + "balances": { + "type": "object", + "description": "The raw balance data received from Teller." + }, + "transactions": { + "type": "array", + "description": "The raw transaction data received from Teller.", + "items": { + "type": "object" + } + } + } + }, + "standard": { + "type": "object", + "description": "Standard verification data. Required for standard type.", + "properties": { + "number": { + "type": "string", + "description": "The full card number." + } + } + }, + "pre_auth": { + "type": "object", + "description": "Pre-auth verification data. Required for pre_auth type.", + "properties": { + "number": { + "type": "string", + "description": "The full card number. Required if the number on the session is null." + }, + "exp_month": { + "type": "string", + "description": "The card expiration month. Required if null or exp_check is fail." + }, + "exp_year": { + "type": "string", + "description": "The card expiration year. Required if null or exp_check is fail." + }, + "cvv": { + "type": "string", + "description": "The card CVV. Required if null or cvv_check is fail." + } + } + }, + "network": { + "type": "object", + "description": "Network verification data. Required for network type.", + "properties": { + "number": { + "type": "string", + "description": "The full card number. Required if the number on the session is null." + }, + "exp_month": { + "type": "string", + "description": "The card expiration month. Required if null or exp_check is fail." + }, + "exp_year": { + "type": "string", + "description": "The card expiration year. Required if null or exp_check is fail." + }, + "cvv": { + "type": "string", + "description": "The card CVV. Required if null or cvv_check is fail." + } + } + }, + "instant": { + "type": "object", + "description": "Instant verification data. Required for instant type.", + "properties": { + "number": { + "type": "string", + "description": "The full card number. Required if the number on the session is null." + }, + "exp_month": { + "type": "string", + "description": "The card expiration month. Required if null or exp_check is fail." + }, + "exp_year": { + "type": "string", + "description": "The card expiration year. Required if null or exp_check is fail." + } + } } } }, @@ -12834,7 +13443,48 @@ "string", "null" ], - "description": "The card product type." + "description": "The card product type.", + "enum": [ + "specific", + "generic", + "in_review", + null + ] + }, + "brands": { + "type": [ + "array", + "null" + ], + "description": "Array of brand entries for this card product.", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the brand." + }, + "description": { + "type": "string", + "description": "Description of the brand." + }, + "network": { + "type": "string", + "description": "Card network for this brand." + }, + "network_tier": { + "type": "string", + "description": "Network tier for this brand." + }, + "default_image": { + "type": "string", + "description": "URL of the default image for this brand." + } + } + } + }, + "error": { + "$ref": "#/components/schemas/ResourceError" }, "created_at": { "type": "string", @@ -15074,17 +15724,35 @@ ], "properties": { "enroll": { - "type": "array", - "description": "Array of subscription names to enroll.", - "items": { - "type": "string", - "enum": [ - "attribute", - "connect", - "credit_score" - ] - }, - "minItems": 1 + "type": "string", + "description": "Subscription name to enroll.", + "enum": [ + "attribute", + "connect", + "credit_score" + ] + }, + "payload": { + "type": [ + "object", + "null" + ], + "description": "Optional payload for the subscription. Required when enroll is attribute.", + "properties": { + "attributes": { + "type": "object", + "description": "Attributes configuration for the subscription.", + "properties": { + "requested_attributes": { + "type": "array", + "description": "List of attribute names to request.", + "items": { + "type": "string" + } + } + } + } + } } } }, diff --git a/latest/openapi.bundled.yaml b/latest/openapi.bundled.yaml index ec5d762..d5cb8f0 100644 --- a/latest/openapi.bundled.yaml +++ b/latest/openapi.bundled.yaml @@ -1021,6 +1021,12 @@ paths: - $ref: '#/components/parameters/method_version' - $ref: '#/components/parameters/idempotency_key' - $ref: '#/components/parameters/AccountIdParam' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AccountPaymentInstrumentCreateRequest' responses: '200': description: The newly created account payment instrument. @@ -6724,6 +6730,244 @@ components: - instant - network - three_ds + micro_deposits: + type: + - object + - 'null' + description: Populated when the verification session is of type micro_deposits. + properties: + amounts: + type: array + description: The latest amounts that this verification session was updated with. + items: + type: integer + plaid: + type: + - object + - 'null' + description: Populated when the verification session is of type plaid. + properties: + balances: + type: object + description: The raw balance data received from Plaid. + transactions: + type: array + description: The raw transaction data received from Plaid. + items: + type: object + mx: + type: + - object + - 'null' + description: Populated when the verification session is of type mx. + properties: + account: + type: object + description: The raw account data received from MX. + transactions: + type: array + description: The raw transaction data received from MX. + items: + type: object + teller: + type: + - object + - 'null' + description: Populated when the verification session is of type teller. + properties: + balances: + type: object + description: The raw balance data received from Teller. + transactions: + type: array + description: The raw transaction data received from Teller. + items: + type: object + auto_verify: + type: + - object + - 'null' + description: Populated when the verification session is of type auto_verify. + trusted_provisioner: + type: + - object + - 'null' + description: Populated when the verification session is of type trusted_provisioner. + standard: + type: + - object + - 'null' + description: Populated when the verification session is of type standard. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + pre_auth: + type: + - object + - 'null' + description: Populated when the verification session is of type pre_auth. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + exp_month: + type: + - string + - 'null' + description: The masked card expiration month. Null if it still needs to be provided. + exp_year: + type: + - string + - 'null' + description: The masked card expiration year. Null if it still needs to be provided. + exp_check: + type: + - string + - 'null' + description: The card expiration verification check result. + enum: + - pass + - fail + - unavailable + cvv: + type: + - string + - 'null' + description: The masked card CVV. Null if it still needs to be provided. + cvv_check: + type: + - string + - 'null' + description: The card CVV verification check result. + enum: + - pass + - fail + - unavailable + billing_zip_code: + type: + - string + - 'null' + description: The masked billing zip code. + billing_zip_code_check: + type: + - string + - 'null' + description: The billing zip code verification check result. + enum: + - pass + - fail + - unavailable + pre_auth_check: + type: + - string + - 'null' + description: The pre-auth verification check result. + enum: + - pass + - fail + - unavailable + network: + type: + - object + - 'null' + description: Populated when the verification session is of type network. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + exp_month: + type: + - string + - 'null' + description: The masked card expiration month. Null if it still needs to be provided. + exp_year: + type: + - string + - 'null' + description: The masked card expiration year. Null if it still needs to be provided. + exp_check: + type: + - string + - 'null' + description: The card expiration verification check result. + enum: + - pass + - fail + - unavailable + cvv: + type: + - string + - 'null' + description: The masked card CVV. Null if it still needs to be provided. + cvv_check: + type: + - string + - 'null' + description: The card CVV verification check result. + enum: + - pass + - fail + - unavailable + billing_zip_code: + type: + - string + - 'null' + description: The masked billing zip code. + billing_zip_code_check: + type: + - string + - 'null' + description: The billing zip code verification check result. + enum: + - pass + - fail + - unavailable + network_check: + type: + - string + - 'null' + description: The network verification check result. + enum: + - pass + - fail + - unavailable + instant: + type: + - object + - 'null' + description: Populated when the verification session is of type instant. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + exp_month: + type: + - string + - 'null' + description: The masked card expiration month. Null if it still needs to be provided. + exp_year: + type: + - string + - 'null' + description: The masked card expiration year. Null if it still needs to be provided. + exp_check: + type: + - string + - 'null' + description: The card expiration verification check result. + enum: + - pass + - fail + - unavailable error: $ref: '#/components/schemas/AccountVerificationSessionResourceError' created_at: @@ -6941,13 +7185,58 @@ components: type: string description: Current status of the payment instrument. enum: - - active - pending - - failed - - closed + - in_progress + - completed type: type: string description: The type of payment instrument. + enum: + - card + - network_token + - inbound_achwire_payment + chargeable: + type: boolean + description: Whether this payment instrument is currently chargeable. + card: + type: + - object + - 'null' + description: Card details. Present when type is card. + properties: + number: + type: string + description: The card number. + exp_month: + type: string + description: Card expiration month. + exp_year: + type: string + description: Card expiration year. + billing_zip_code: + type: string + description: Billing zip code. + network_token: + type: + - object + - 'null' + description: Network token details. Present when type is network_token. + properties: + token: + type: string + description: The network token value. + inbound_achwire_payment: + type: + - object + - 'null' + description: ACH/wire payment details. Present when type is inbound_achwire_payment. + properties: + account_number: + type: string + description: The account number. + routing_number: + type: string + description: The routing number. error: $ref: '#/components/schemas/ResourceError' created_at: @@ -6964,9 +7253,6 @@ components: required: - id - account_id - - network - - issuer - - last4 - status - created_at - updated_at @@ -6980,11 +7266,62 @@ components: type: string description: The account this card brand belongs to. pattern: ^acc_\w+$ + brands: + type: + - array + - 'null' + description: Array of card brand entries for this account. + items: + type: object + properties: + id: + type: string + description: Unique identifier for the brand entry. + card_product_id: + type: + - string + - 'null' + description: Associated card product ID. + description: + type: string + description: Description of the brand. + name: + type: string + description: Name of the brand. + issuer: + type: string + description: The card issuer. + network: + type: string + description: The card network. + network_tier: + type: string + description: The tier of the card network. + type: + type: + - string + - 'null' + description: The brand type. + url: + type: string + description: URL for the brand image. + source: + type: + - string + - 'null' + description: Source of the card brand data. + enum: + - network + - method + - null + shared: + type: boolean + description: Whether this card brand record is shared. network: type: - string - 'null' - description: The card network. + description: The card network. Deprecated in favor of brands[].network. enum: - visa - mastercard @@ -6995,12 +7332,12 @@ components: type: - string - 'null' - description: The card issuer. + description: The card issuer. Deprecated in favor of brands[].issuer. last4: type: - string - 'null' - description: Last 4 digits of the card number. + description: Last 4 digits of the card number. Deprecated in favor of brands[]. status: type: string description: Current status of the card brand request. @@ -7733,6 +8070,19 @@ components: type: array items: $ref: '#/components/schemas/AccountPaymentInstrument' + AccountPaymentInstrumentCreateRequest: + type: object + description: Request body for creating an account payment instrument. + required: + - type + properties: + type: + type: string + description: The type of payment instrument to create. + enum: + - card + - network_token + - inbound_achwire_payment AccountPaymentInstrumentResponse: allOf: - $ref: '#/components/schemas/SuccessEnvelope' @@ -7935,11 +8285,8 @@ components: - enroll properties: enroll: - type: array - description: Array of subscription names to enroll. - items: - type: string - minItems: 1 + type: string + description: Subscription name to enroll. AccountSubscriptionResponse: allOf: - $ref: '#/components/schemas/SuccessEnvelope' @@ -8142,13 +8489,101 @@ components: properties: micro_deposits: type: object - description: Micro deposit verification amounts. + description: Micro deposit verification amounts. Required for micro_deposits type. properties: amounts: type: array description: The micro deposit amounts to verify. items: type: integer + plaid: + type: object + description: Plaid verification data. Required for plaid type. + properties: + balances: + type: object + description: The raw balance data received from Plaid. + transactions: + type: array + description: The raw transaction data received from Plaid. + items: + type: object + mx: + type: object + description: MX verification data. Required for mx type. + properties: + account: + type: object + description: The raw account data received from MX. + transactions: + type: array + description: The raw transaction data received from MX. + items: + type: object + teller: + type: object + description: Teller verification data. Required for teller type. + properties: + balances: + type: object + description: The raw balance data received from Teller. + transactions: + type: array + description: The raw transaction data received from Teller. + items: + type: object + standard: + type: object + description: Standard verification data. Required for standard type. + properties: + number: + type: string + description: The full card number. + pre_auth: + type: object + description: Pre-auth verification data. Required for pre_auth type. + properties: + number: + type: string + description: The full card number. Required if the number on the session is null. + exp_month: + type: string + description: The card expiration month. Required if null or exp_check is fail. + exp_year: + type: string + description: The card expiration year. Required if null or exp_check is fail. + cvv: + type: string + description: The card CVV. Required if null or cvv_check is fail. + network: + type: object + description: Network verification data. Required for network type. + properties: + number: + type: string + description: The full card number. Required if the number on the session is null. + exp_month: + type: string + description: The card expiration month. Required if null or exp_check is fail. + exp_year: + type: string + description: The card expiration year. Required if null or exp_check is fail. + cvv: + type: string + description: The card CVV. Required if null or cvv_check is fail. + instant: + type: object + description: Instant verification data. Required for instant type. + properties: + number: + type: string + description: The full card number. Required if the number on the session is null. + exp_month: + type: string + description: The card expiration month. Required if null or exp_check is fail. + exp_year: + type: string + description: The card expiration year. Required if null or exp_check is fail. AccountVerificationSessionAmountsResponse: allOf: - $ref: '#/components/schemas/SuccessEnvelope' @@ -8198,6 +8633,36 @@ components: - string - 'null' description: The card product type. + enum: + - specific + - generic + - in_review + - null + brands: + type: + - array + - 'null' + description: Array of brand entries for this card product. + items: + type: object + properties: + id: + type: string + description: Unique identifier for the brand. + description: + type: string + description: Description of the brand. + network: + type: string + description: Card network for this brand. + network_tier: + type: string + description: Network tier for this brand. + default_image: + type: string + description: URL of the default image for this brand. + error: + $ref: '#/components/schemas/ResourceError' created_at: type: string format: date-time @@ -9740,15 +10205,27 @@ components: - enroll properties: enroll: - type: array - description: Array of subscription names to enroll. - items: - type: string - enum: - - attribute - - connect - - credit_score - minItems: 1 + type: string + description: Subscription name to enroll. + enum: + - attribute + - connect + - credit_score + payload: + type: + - object + - 'null' + description: Optional payload for the subscription. Required when enroll is attribute. + properties: + attributes: + type: object + description: Attributes configuration for the subscription. + properties: + requested_attributes: + type: array + description: List of attribute names to request. + items: + type: string EntitySubscriptionResponse: allOf: - $ref: '#/components/schemas/SuccessEnvelope' diff --git a/openapi/components/schemas/account.yaml b/openapi/components/schemas/account.yaml index 712894b..d3a0f60 100644 --- a/openapi/components/schemas/account.yaml +++ b/openapi/components/schemas/account.yaml @@ -707,9 +707,6 @@ AccountCardBrand: required: - id - account_id - - network - - issuer - - last4 - status - created_at - updated_at @@ -723,11 +720,62 @@ AccountCardBrand: type: string description: The account this card brand belongs to. pattern: ^acc_\w+$ + brands: + type: + - array + - 'null' + description: Array of card brand entries for this account. + items: + type: object + properties: + id: + type: string + description: Unique identifier for the brand entry. + card_product_id: + type: + - string + - 'null' + description: Associated card product ID. + description: + type: string + description: Description of the brand. + name: + type: string + description: Name of the brand. + issuer: + type: string + description: The card issuer. + network: + type: string + description: The card network. + network_tier: + type: string + description: The tier of the card network. + type: + type: + - string + - 'null' + description: The brand type. + url: + type: string + description: URL for the brand image. + source: + type: + - string + - 'null' + description: Source of the card brand data. + enum: + - network + - method + - null + shared: + type: boolean + description: Whether this card brand record is shared. network: type: - string - 'null' - description: The card network. + description: The card network. Deprecated in favor of brands[].network. enum: - visa - mastercard @@ -738,12 +786,12 @@ AccountCardBrand: type: - string - 'null' - description: The card issuer. + description: The card issuer. Deprecated in favor of brands[].issuer. last4: type: - string - 'null' - description: Last 4 digits of the card number. + description: Last 4 digits of the card number. Deprecated in favor of brands[]. status: type: string description: Current status of the card brand request. @@ -791,6 +839,19 @@ AccountConsentUpdateRequest: reason: type: string description: Optional reason for the consent action. +AccountPaymentInstrumentCreateRequest: + type: object + description: Request body for creating an account payment instrument. + required: + - type + properties: + type: + type: string + description: The type of payment instrument to create. + enum: + - card + - network_token + - inbound_achwire_payment AccountPaymentInstrument: type: object description: A payment instrument for an account. @@ -815,13 +876,58 @@ AccountPaymentInstrument: type: string description: Current status of the payment instrument. enum: - - active - pending - - failed - - closed + - in_progress + - completed type: type: string description: The type of payment instrument. + enum: + - card + - network_token + - inbound_achwire_payment + chargeable: + type: boolean + description: Whether this payment instrument is currently chargeable. + card: + type: + - object + - 'null' + description: Card details. Present when type is card. + properties: + number: + type: string + description: The card number. + exp_month: + type: string + description: Card expiration month. + exp_year: + type: string + description: Card expiration year. + billing_zip_code: + type: string + description: Billing zip code. + network_token: + type: + - object + - 'null' + description: Network token details. Present when type is network_token. + properties: + token: + type: string + description: The network token value. + inbound_achwire_payment: + type: + - object + - 'null' + description: ACH/wire payment details. Present when type is inbound_achwire_payment. + properties: + account_number: + type: string + description: The account number. + routing_number: + type: string + description: The routing number. error: $ref: common.yaml#/ResourceError created_at: @@ -1106,11 +1212,8 @@ AccountSubscriptionCreateRequest: - enroll properties: enroll: - type: array - description: Array of subscription names to enroll. - items: - type: string - minItems: 1 + type: string + description: Subscription name to enroll. AccountSubscriptionResponse: allOf: - $ref: common.yaml#/SuccessEnvelope @@ -1363,6 +1466,244 @@ AccountVerificationSession: - instant - network - three_ds + micro_deposits: + type: + - object + - 'null' + description: Populated when the verification session is of type micro_deposits. + properties: + amounts: + type: array + description: The latest amounts that this verification session was updated with. + items: + type: integer + plaid: + type: + - object + - 'null' + description: Populated when the verification session is of type plaid. + properties: + balances: + type: object + description: The raw balance data received from Plaid. + transactions: + type: array + description: The raw transaction data received from Plaid. + items: + type: object + mx: + type: + - object + - 'null' + description: Populated when the verification session is of type mx. + properties: + account: + type: object + description: The raw account data received from MX. + transactions: + type: array + description: The raw transaction data received from MX. + items: + type: object + teller: + type: + - object + - 'null' + description: Populated when the verification session is of type teller. + properties: + balances: + type: object + description: The raw balance data received from Teller. + transactions: + type: array + description: The raw transaction data received from Teller. + items: + type: object + auto_verify: + type: + - object + - 'null' + description: Populated when the verification session is of type auto_verify. + trusted_provisioner: + type: + - object + - 'null' + description: Populated when the verification session is of type trusted_provisioner. + standard: + type: + - object + - 'null' + description: Populated when the verification session is of type standard. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + pre_auth: + type: + - object + - 'null' + description: Populated when the verification session is of type pre_auth. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + exp_month: + type: + - string + - 'null' + description: The masked card expiration month. Null if it still needs to be provided. + exp_year: + type: + - string + - 'null' + description: The masked card expiration year. Null if it still needs to be provided. + exp_check: + type: + - string + - 'null' + description: The card expiration verification check result. + enum: + - pass + - fail + - unavailable + cvv: + type: + - string + - 'null' + description: The masked card CVV. Null if it still needs to be provided. + cvv_check: + type: + - string + - 'null' + description: The card CVV verification check result. + enum: + - pass + - fail + - unavailable + billing_zip_code: + type: + - string + - 'null' + description: The masked billing zip code. + billing_zip_code_check: + type: + - string + - 'null' + description: The billing zip code verification check result. + enum: + - pass + - fail + - unavailable + pre_auth_check: + type: + - string + - 'null' + description: The pre-auth verification check result. + enum: + - pass + - fail + - unavailable + network: + type: + - object + - 'null' + description: Populated when the verification session is of type network. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + exp_month: + type: + - string + - 'null' + description: The masked card expiration month. Null if it still needs to be provided. + exp_year: + type: + - string + - 'null' + description: The masked card expiration year. Null if it still needs to be provided. + exp_check: + type: + - string + - 'null' + description: The card expiration verification check result. + enum: + - pass + - fail + - unavailable + cvv: + type: + - string + - 'null' + description: The masked card CVV. Null if it still needs to be provided. + cvv_check: + type: + - string + - 'null' + description: The card CVV verification check result. + enum: + - pass + - fail + - unavailable + billing_zip_code: + type: + - string + - 'null' + description: The masked billing zip code. + billing_zip_code_check: + type: + - string + - 'null' + description: The billing zip code verification check result. + enum: + - pass + - fail + - unavailable + network_check: + type: + - string + - 'null' + description: The network verification check result. + enum: + - pass + - fail + - unavailable + instant: + type: + - object + - 'null' + description: Populated when the verification session is of type instant. + properties: + number: + type: + - string + - 'null' + description: The masked card number. Null if the number still needs to be provided. + exp_month: + type: + - string + - 'null' + description: The masked card expiration month. Null if it still needs to be provided. + exp_year: + type: + - string + - 'null' + description: The masked card expiration year. Null if it still needs to be provided. + exp_check: + type: + - string + - 'null' + description: The card expiration verification check result. + enum: + - pass + - fail + - unavailable error: $ref: errors/account_errors.yaml#/AccountVerificationSessionResourceError created_at: @@ -1401,13 +1742,101 @@ AccountVerificationSessionUpdateRequest: properties: micro_deposits: type: object - description: Micro deposit verification amounts. + description: Micro deposit verification amounts. Required for micro_deposits type. properties: amounts: type: array description: The micro deposit amounts to verify. items: type: integer + plaid: + type: object + description: Plaid verification data. Required for plaid type. + properties: + balances: + type: object + description: The raw balance data received from Plaid. + transactions: + type: array + description: The raw transaction data received from Plaid. + items: + type: object + mx: + type: object + description: MX verification data. Required for mx type. + properties: + account: + type: object + description: The raw account data received from MX. + transactions: + type: array + description: The raw transaction data received from MX. + items: + type: object + teller: + type: object + description: Teller verification data. Required for teller type. + properties: + balances: + type: object + description: The raw balance data received from Teller. + transactions: + type: array + description: The raw transaction data received from Teller. + items: + type: object + standard: + type: object + description: Standard verification data. Required for standard type. + properties: + number: + type: string + description: The full card number. + pre_auth: + type: object + description: Pre-auth verification data. Required for pre_auth type. + properties: + number: + type: string + description: The full card number. Required if the number on the session is null. + exp_month: + type: string + description: The card expiration month. Required if null or exp_check is fail. + exp_year: + type: string + description: The card expiration year. Required if null or exp_check is fail. + cvv: + type: string + description: The card CVV. Required if null or cvv_check is fail. + network: + type: object + description: Network verification data. Required for network type. + properties: + number: + type: string + description: The full card number. Required if the number on the session is null. + exp_month: + type: string + description: The card expiration month. Required if null or exp_check is fail. + exp_year: + type: string + description: The card expiration year. Required if null or exp_check is fail. + cvv: + type: string + description: The card CVV. Required if null or cvv_check is fail. + instant: + type: object + description: Instant verification data. Required for instant type. + properties: + number: + type: string + description: The full card number. Required if the number on the session is null. + exp_month: + type: string + description: The card expiration month. Required if null or exp_check is fail. + exp_year: + type: string + description: The card expiration year. Required if null or exp_check is fail. AccountVerificationSessionResponse: allOf: - $ref: common.yaml#/SuccessEnvelope diff --git a/openapi/components/schemas/card_product.yaml b/openapi/components/schemas/card_product.yaml index cf0e422..e2abc2b 100644 --- a/openapi/components/schemas/card_product.yaml +++ b/openapi/components/schemas/card_product.yaml @@ -34,6 +34,36 @@ CardProduct: - string - 'null' description: The card product type. + enum: + - specific + - generic + - in_review + - null + brands: + type: + - array + - 'null' + description: Array of brand entries for this card product. + items: + type: object + properties: + id: + type: string + description: Unique identifier for the brand. + description: + type: string + description: Description of the brand. + network: + type: string + description: Card network for this brand. + network_tier: + type: string + description: Network tier for this brand. + default_image: + type: string + description: URL of the default image for this brand. + error: + $ref: common.yaml#/ResourceError created_at: type: string format: date-time diff --git a/openapi/components/schemas/entity.yaml b/openapi/components/schemas/entity.yaml index 51b6cb1..b836e6f 100644 --- a/openapi/components/schemas/entity.yaml +++ b/openapi/components/schemas/entity.yaml @@ -969,15 +969,27 @@ CreateEntitySubscriptionRequest: - enroll properties: enroll: - type: array - description: Array of subscription names to enroll. - items: - type: string - enum: - - attribute - - connect - - credit_score - minItems: 1 + type: string + description: Subscription name to enroll. + enum: + - attribute + - connect + - credit_score + payload: + type: + - object + - 'null' + description: Optional payload for the subscription. Required when enroll is attribute. + properties: + attributes: + type: object + description: Attributes configuration for the subscription. + properties: + requested_attributes: + type: array + description: List of attribute names to request. + items: + type: string EntityVehicle: type: object required: diff --git a/openapi/paths/account_payment_instruments.yaml b/openapi/paths/account_payment_instruments.yaml index d9e5a84..17729ab 100644 --- a/openapi/paths/account_payment_instruments.yaml +++ b/openapi/paths/account_payment_instruments.yaml @@ -55,6 +55,12 @@ collection: - $ref: ../components/parameters/method_version.yaml - $ref: ../components/parameters/idempotency_key.yaml - $ref: ../components/parameters/path_ids.yaml#/AccountIdParam + requestBody: + required: true + content: + application/json: + schema: + $ref: ../components/schemas/account.yaml#/AccountPaymentInstrumentCreateRequest responses: '200': description: The newly created account payment instrument.