{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/methodfi/main/json-schema/methodfi-account-verification-session-response-schema.json", "title": "AccountVerificationSessionResponse", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/methodfi-account-verification-sessions-api-openapi.yml#/components/schemas/AccountVerificationSessionResponse", "allOf": [ { "$ref": "#/$defs/SuccessEnvelope" }, { "type": "object", "properties": { "data": { "$ref": "#/$defs/AccountVerificationSession" } } } ], "$defs": { "AccountVerificationSession": { "type": "object", "description": "A verification session for an account.", "required": [ "id", "account_id", "status", "type", "created_at", "updated_at" ], "properties": { "id": { "type": "string", "description": "Unique identifier for the verification session.", "pattern": "^avf_\\w+$" }, "account_id": { "type": "string", "description": "The account this verification session belongs to.", "pattern": "^acc_\\w+$" }, "status": { "type": "string", "description": "Current status of the verification session.", "enum": [ "pending", "in_progress", "verified", "failed" ] }, "type": { "type": "string", "description": "The type of verification.", "enum": [ "micro_deposits", "mx", "plaid", "teller", "auto_verify", "trusted_provisioner", "pre_auth", "standard", "issuer", "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": "#/$defs/AccountVerificationSessionResourceError" }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the verification session was created." }, "updated_at": { "type": "string", "format": "date-time", "description": "Timestamp when the verification session was last updated." } } }, "AccountVerificationSessionResourceError": { "type": [ "object", "null" ], "description": "Error details when an account verification session fails.", "required": [ "type", "code", "sub_type", "message" ], "properties": { "type": { "type": "string", "description": "The category of verification session error.", "enum": [ "ACCOUNT_VERIFICATION_SESSION_FAILED" ] }, "code": { "type": "integer", "description": "Numeric error code (16XXX range).", "enum": [ 16001, 16002, 16003, 16004 ] }, "sub_type": { "type": "string", "description": "Specific verification session error classification.", "enum": [ "VERIFICATION_TYPE_NOT_SUPPORTED", "INVALID_DETAILS", "VERIFICATION_SESSION_ATTEMPT_LIMIT_REACHED", "MICRO_DEPOSITS_FAILED" ] }, "message": { "type": "string", "description": "Human-readable error description." } } }, "SuccessEnvelope": { "type": "object", "description": "Standard envelope for successful responses that return a single payload.", "required": [ "success", "data", "message" ], "properties": { "success": { "type": "boolean", "description": "Always `true` for successful responses." }, "data": { "description": "Operation-specific response payload." }, "message": { "type": [ "string", "null" ] } } } } }