openapi: 3.2.0 info: title: Argyle Open Banking API description: Argyle OpenAPI spec version: 1.0.111 servers: - url: https://api-sandbox.argyle.com/v2 description: Sandbox - url: https://api.argyle.com/v2 description: Production security: - basicAuth: [] tags: - name: Open Banking paths: /open-banking/connect: post: summary: Create a Connect URL description: Creates a new Connect URL for the specified user. requestBody: required: true content: application/json: schema: type: object properties: user: type: string format: uuid description: ID of the user object. webhook: type: string format: uri description: Webhook URL to receive Connect Events. webhook_data: type: object description: Optional data added to Connect Events webhook payloads. experience: type: string description: 'Experience ID that customizes the bank connection experience. If an `experience` value is not provided, a default experience configured by the Argyle team will be applied. ' single_use_url: type: boolean description: If true, the Connect URL expires after the session completes. redirect_url: type: string format: uri description: Redirect users after they complete the session. required: - user - webhook example: user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69 webhook: https://your-webhook-backend.com responses: '200': description: '' content: application/json: schema: type: object properties: open_banking_link: type: string description: Connect URL for the user. example: open_banking_link: https://connect_url_link.com operationId: postOpenBankingConnect tags: - Open Banking /open-banking/reports/{type}: post: summary: Generate a banking report description: Generates a new banking report and returns a report object. parameters: - in: path name: type required: true schema: type: string enum: - voa - voi - voai description: The type of report to generate. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BankingReportRequest' example: user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 webhook: https://your-webhook-backend.com bank_accounts: - '8057637863' from_date: '1970-01-19T17:30:50Z' report_custom_fields: - label: loanID value: '12345' shown: true income_stream_confidence_minimum: 50 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/BankingReport' example: id: cde25bb1-5cf4-4544-9df8-04212a781e1b user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 reference_id: cde25bb1-5cf4-4544-9df8-04212a781e1b generated_at: '2025-06-10T20:39:35.000Z' created_at: '2025-06-10T20:39:35.000Z' type: voai status: generating file_url: www.argyle.com/storagename/pdf json_url: www.argyle.com/storagename/json accounts: [] last_synced_at: null external_id: null source: open-banking metadata: origin_report_id: 5u6fx59dnw4b bank_accounts_requested: - '8057637863' from_date: '1970-01-19T17:30:50.000Z' report_custom_fields: - label: loanID value: '12345' shown: true income_stream_confidence_minimum: 50 operationId: postOpenBankingReportsByType tags: - Open Banking /open-banking/bank-accounts: get: summary: List all bank accounts description: 'Returns a paginated list of the user''s bank accounts. Each result is a bank account object with two bank connection error fields: - `error_code` - Bank connection error code. Returned when `aggregation_status_code` indicates an error; otherwise `null`. - `error_message` - Bank connection error message. Returned when `aggregation_status_code` indicates an error; otherwise `null`.' parameters: - in: query name: user required: true schema: type: string format: uuid description: ID of the user. - in: query name: limit schema: type: integer description: 'Number of bank account objects returned [per page](/api-guide/overview#pagination). Default: 10. Maximum: 200.' - in: query name: cursor schema: type: string description: The URL returned in `next` or `previous` used to retrieve another [page](/api-guide/overview#pagination) of results. responses: '200': description: '' content: application/json: schema: type: object properties: next: type: - string - 'null' format: uri description: URL for the next page of results, if available. previous: type: - string - 'null' format: uri description: URL for the previous page of results, if available. results: type: array items: type: object additionalProperties: true properties: id: type: string description: ID of the bank account. user: type: string format: uuid description: ID of the user associated with the bank account. account_number_display: type: string description: Display account identifier. name: type: string description: Account name. type: type: string description: Bank account type. enum: - checking - savings - cd - moneyMarket - creditCard - lineOfCredit - investment - investmentTaxDeferred - employeeStockPurchasePlan - ira - 401k - roth - 403b - 529plan - rollover - ugma - utma - keogh - 457plan - 401a - brokerageAccount - educationSavings - healthSavingsAccount - pension - profitSharingPlan - roth401k - sepIRA - simpleIRA - thriftSavingsPlan - variableAnnuity - cryptocurrency - mortgage - loan - studentLoan - studentLoanGroup - studentLoanAccount aggregation_status_code: type: integer description: 'Status code of the most recent aggregation attempt. See [Aggregation status codes](/api-reference/bank-accounts#aggregation-status-codes). ' status: type: string description: Bank account status. enum: - pending - active institution: type: string description: ID of the financial institution. aggregation_success_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the last successful aggregation. aggregation_attempt_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the last aggregation attempt. created_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the bank account was created. currency: type: string description: Currency code. institution_login: type: integer description: ID of the institution login. display_position: type: integer description: Display position of the account at the financial institution. parent_bank_account: type: string description: ID of the parent bank account. linked_account_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the account was linked. error_code: type: string description: Bank connection error code. error_message: type: string description: Bank connection error message. real_account_number_last4: type: string description: Last four digits of the account number. balance: type: number description: Account balance amount. Returned as a number with up to two decimal places. x-argyle-decimal-places: 2 x-argyle-decimal-mode: maximum balance_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the balance was recorded. last_updated_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the account was last updated. market_segment: type: string enum: - personal - business description: Indicates whether the account is personal or business. line_of_business: type: - string - 'null' x-mint: post: - Coming soon enum: - personal - business - unknown description: Indicates how the account is registered with the financial institution. Does not indicate how the account is used. line_of_business_source: type: - string - 'null' x-mint: post: - Coming soon enum: - Financial_Institution - Mastercard description: 'Source of the **`line_of_business`** value. - `Financial_Institution` indicates the value was provided by the financial institution. - `Mastercard` indicates the value was inferred using analytical models. ' line_of_business_confidence_score: type: - number - 'null' minimum: 0 maximum: 1 x-mint: post: - Coming soon description: 'Confidence score for **`line_of_business`**, from 0 to 1. A score of 1 is expected when the value is provided by the financial institution. Scores from 0.90 to 0.99 indicate high confidence, 0.60 to 0.89 indicate medium confidence, and 0.00 to 0.59 indicate low confidence. ' last_transaction_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the latest transaction. oldest_transaction_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the oldest transaction. example: results: - id: '8057637863' user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 account_number_display: '2203' name: Savings type: savings aggregation_status_code: 0 status: active institution: '102168' aggregation_success_date: '2026-06-04T16:57:26.000Z' aggregation_attempt_date: '2026-06-04T16:57:26.000Z' created_date: '2026-06-04T16:57:17.000Z' currency: USD institution_login: 8029158291 display_position: 1 parent_bank_account: null linked_account_date: '2026-06-04T16:57:22.000Z' error_code: null error_message: null real_account_number_last4: '2203' balance: 22327.3 balance_date: '2026-06-04T16:57:26.000Z' last_updated_date: '2026-06-04T16:57:22.000Z' market_segment: personal line_of_business: personal line_of_business_source: Financial_Institution line_of_business_confidence_score: 1 last_transaction_date: '2026-06-04T16:57:23.000Z' oldest_transaction_date: '2024-06-08T12:00:00.000Z' - id: '8057637864' user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 account_number_display: '1111' name: Checking type: checking aggregation_status_code: 0 status: active institution: '102168' aggregation_success_date: '2026-06-04T16:57:27.000Z' aggregation_attempt_date: '2026-06-04T16:57:27.000Z' created_date: '2026-06-04T16:57:17.000Z' currency: USD institution_login: 8029158291 display_position: 2 parent_bank_account: null linked_account_date: '2026-06-04T16:57:22.000Z' error_code: null error_message: null real_account_number_last4: '1111' balance: 9357.24 balance_date: '2026-06-04T16:57:27.000Z' last_updated_date: '2026-06-04T16:57:22.000Z' market_segment: personal line_of_business: business line_of_business_source: Mastercard line_of_business_confidence_score: 0.96 last_transaction_date: '2026-06-04T16:57:25.000Z' oldest_transaction_date: '2024-06-08T12:00:00.000Z' next: https://api-sandbox.argyle.com/v2/open-banking/bank-accounts?cursor=ZXhhbXBsZV9jdXJzb3I previous: null operationId: getOpenBankingBankAccounts tags: - Open Banking /open-banking/bank-accounts/{bank_account_id}: get: summary: Retrieve a bank account description: Retrieves a bank account. parameters: - in: path name: bank_account_id required: true schema: type: string description: ID of the bank account. - in: query name: user required: true schema: type: string format: uuid description: ID of the user. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OpenBankingBankAccount' example: id: '8057637863' user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 account_number_display: '2203' name: Savings type: savings aggregation_status_code: 0 status: active institution: '102168' aggregation_success_date: '2026-06-04T16:57:26.000Z' aggregation_attempt_date: '2026-06-04T16:57:26.000Z' created_date: '2026-06-04T16:57:17.000Z' currency: USD institution_login: 8029158291 display_position: 1 parent_bank_account: null linked_account_date: '2026-06-04T16:57:22.000Z' error_code: null error_message: null real_account_number_last4: '2203' balance: 22327.3 balance_date: '2026-06-04T16:57:26.000Z' last_updated_date: '2026-06-04T16:57:22.000Z' market_segment: personal line_of_business: business line_of_business_source: Financial_Institution line_of_business_confidence_score: 1 last_transaction_date: '2026-06-04T16:57:23.000Z' oldest_transaction_date: '2024-06-08T12:00:00.000Z' operationId: getOpenBankingBankAccountsByBankAccountId tags: - Open Banking /open-banking/institutions: get: summary: List all institutions description: Returns a paginated list of supported financial institutions. parameters: - in: query name: search required: false schema: type: string description: Search term (financial institution name). - in: query name: type required: false schema: type: string enum: - voa - voi description: 'Report type eligibility. Possible values: - `voa` - Verification of Assets - `voi` - Verification of Income If `voa` is `true` but `voi` is `false`, VOAI reports contain only asset data. If `voi` is `true` but `voa` is `false`, VOAI reports contain only income data. ' - in: query name: limit required: false schema: type: integer description: Number of institutions per page. - in: query name: start required: false schema: type: integer description: Index of page results to return. - in: query name: cursor schema: type: string description: The URL returned in `next` or `previous` used to retrieve another [page](/api-guide/overview#pagination) of results. responses: '200': description: '' content: application/json: schema: type: object properties: next: type: - string - 'null' format: uri description: URL for the next page of results, if available. previous: type: - string - 'null' format: uri description: URL for the previous page of results, if available. results: type: array items: type: object example: found: 8263 displaying: 25 more_available: true requested_date: '2025-06-10T17:39:43.000Z' institutions: - id: 10 rssd: 0 name: Discover Card (All Account Types) trans_agg: true ach: true state_agg: true voi: true voa: true aha: false avail_balance: true account_owner: true student_loan_data: false loan_payment_details: false child_institutions: [] - id: 12 rssd: 0 name: E*TRADE trans_agg: true ach: true state_agg: false voi: true voa: true aha: false avail_balance: true account_owner: true student_loan_data: false loan_payment_details: false child_institutions: [] - id: 18 rssd: 0 name: SouthTrust trans_agg: true ach: false state_agg: false voi: true voa: true aha: false avail_balance: false account_owner: true student_loan_data: false loan_payment_details: false child_institutions: [] - id: 23 rssd: 0 name: Merrill Lynch trans_agg: true ach: false state_agg: true voi: true voa: true aha: false avail_balance: false account_owner: true student_loan_data: false loan_payment_details: false child_institutions: [] operationId: getOpenBankingInstitutions tags: - Open Banking /open-banking/institutions/{institution_id}: get: summary: Retrieve an institution description: Retrieves a financial institution. parameters: - in: path name: institution_id required: true schema: type: string description: ID of the financial institution. responses: '200': description: '' content: application/json: schema: type: object example: id: 10 name: Discover Card (All Account Types) trans_agg: true ach: true state_agg: true voi: true voa: true aha: false avail_balance: true account_owner: true student_loan_data: false loan_payment_details: false account_type_description: Credit Cards/Accounts phone: 1-800-DISCOVER url_home_app: www.discovercard.com url_logon_app: https://www.discover.com/login/ oauth_enabled: false url_forgot_password: https://bank.discover.com/bankac/loginreg/loadloginassist?Aff=Bank url_online_registration: '' special_text: Please enter your Discover Card personalized User ID and Password required to login. time_zone: null special_instructions: [] special_instutions_title: null address: city: Wilmington state: DE country: USA postal_code: '19886' address_line1: '' address_line2: '' currency: USD email: https://customerservice.novusnet.com/EMS/html/usemsform.html status: online new_institution: 0 branding: logo: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/logo.svg alternate_logo: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/alternateLogo.svg icon: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/icon.svg primary_color: '#115892' tile: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/tile.svg oauth_institution: 0 class: creditCards operationId: getOpenBankingInstitutionsByInstitutionId tags: - Open Banking components: schemas: BankingReport: type: object description: Report object. example: id: cde25bb1-5cf4-4544-9df8-04212a781e1b user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 reference_id: cde25bb1-5cf4-4544-9df8-04212a781e1b generated_at: '2025-06-10T20:39:35.000Z' created_at: '2025-06-10T20:39:35.000Z' type: voai status: generated file_url: www.argyle.com/storagename/pdf json_url: www.argyle.com/storagename/json accounts: [] last_synced_at: null external_id: null source: open-banking metadata: origin_report_id: 5u6fx59dnw4b bank_accounts_requested: - '8057637863' from_date: '1970-01-19T17:30:50.000Z' report_custom_fields: - label: loanID value: '12345' shown: true income_stream_confidence_minimum: 50 properties: id: type: string format: uuid description: Unique ID of the report object. user: type: string format: uuid description: ID of the user associated with the report. reference_id: type: string format: uuid deprecated: true description: Report PDF identifier. generated_at: type: string format: date-time deprecated: true description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the report was requested. created_at: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the report was requested. type: type: string enum: - voa - voi - voai description: 'The type of report. - `voa` - Verification of Assets - `voi` - Verification of Income - `voai` - Verification of Assets and Income ' status: type: string enum: - generating - generated description: 'Progress of report generation. - `generating` - The report is being generated. - `generated` - The report is ready to download. ' file_url: type: string description: Download link to the report PDF. Requires [Argyle authentication headers](/api-guide/overview#authentication). json_url: type: string description: Download link to the report in JSON. Requires [Argyle authentication headers](/api-guide/overview#authentication). accounts: type: array description: Not used in banking reports. items: type: object additionalProperties: true last_synced_at: type: - string - 'null' format: date-time description: Not used in banking reports. external_id: type: - string - 'null' description: The [`external_id`](/api-reference/users#object-external_id) of the user, otherwise `null`. source: type: string description: The source of the report data. metadata: type: object description: Additional info. OpenBankingBankAccount: type: object additionalProperties: true example: id: '8057637863' user: 01975b3b-5ba6-3ec1-2148-f595b6d92614 account_number_display: '2203' name: Savings type: savings aggregation_status_code: 0 status: active institution: '102168' aggregation_success_date: '2026-06-04T16:57:26.000Z' aggregation_attempt_date: '2026-06-04T16:57:26.000Z' created_date: '2026-06-04T16:57:17.000Z' currency: USD institution_login: 8029158291 display_position: 1 parent_bank_account: null linked_account_date: '2026-06-04T16:57:22.000Z' error_code: null error_message: null real_account_number_last4: '2203' balance: 22327.3 balance_date: '2026-06-04T16:57:26.000Z' last_updated_date: '2026-06-04T16:57:22.000Z' market_segment: personal line_of_business: business line_of_business_source: Financial_Institution line_of_business_confidence_score: 1 last_transaction_date: '2026-06-04T16:57:23.000Z' oldest_transaction_date: '2024-06-08T12:00:00.000Z' properties: id: type: string description: ID of the bank account. user: type: string format: uuid description: ID of the user associated with the bank account. account_number_display: type: string description: Display account identifier. name: type: string description: Account name. type: type: string description: Bank account type. enum: - checking - savings - cd - moneyMarket - creditCard - lineOfCredit - investment - investmentTaxDeferred - employeeStockPurchasePlan - ira - 401k - roth - 403b - 529plan - rollover - ugma - utma - keogh - 457plan - 401a - brokerageAccount - educationSavings - healthSavingsAccount - pension - profitSharingPlan - roth401k - sepIRA - simpleIRA - thriftSavingsPlan - variableAnnuity - cryptocurrency - mortgage - loan - studentLoan - studentLoanGroup - studentLoanAccount aggregation_status_code: type: integer description: 'Status code of the most recent aggregation attempt. See [Aggregation status codes](/api-reference/bank-accounts#aggregation-status-codes). ' status: type: string description: Bank account status. enum: - pending - active institution: type: string description: ID of the financial institution. aggregation_success_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the last successful aggregation for the account. aggregation_attempt_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the last aggregation attempt for the account, whether successful or not. created_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the bank account was created. currency: type: string description: Currency code. institution_login: type: integer description: ID of the institution login. display_position: type: integer description: Display position of the account at the financial institution. parent_bank_account: type: string description: ID of the parent bank account. linked_account_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the account was linked. error_code: type: string description: Bank connection error code. error_message: type: string description: Bank connection error message. real_account_number_last4: type: string description: Last four digits of the account number. balance: type: number description: Account balance amount. Returned as a number with up to two decimal places. x-argyle-decimal-places: 2 x-argyle-decimal-mode: maximum balance_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the balance was recorded. last_updated_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) for when the account was last updated. market_segment: type: string enum: - personal - business description: Indicates whether the account is personal or business. line_of_business: type: - string - 'null' x-mint: post: - Coming soon enum: - personal - business - unknown description: Indicates how the account is registered with the financial institution. Does not indicate how the account is used. line_of_business_source: type: - string - 'null' x-mint: post: - Coming soon enum: - Financial_Institution - Mastercard description: 'Source of the **`line_of_business`** value. - `Financial_Institution` indicates the value was provided by the financial institution. - `Mastercard` indicates the value was inferred using analytical models. ' line_of_business_confidence_score: type: - number - 'null' minimum: 0 maximum: 1 x-mint: post: - Coming soon description: 'Confidence score for **`line_of_business`**, from 0 to 1. A score of 1 is expected when the value is provided by the financial institution. Scores from 0.90 to 0.99 indicate high confidence, 0.60 to 0.89 indicate medium confidence, and 0.00 to 0.59 indicate low confidence. ' last_transaction_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the latest transaction. oldest_transaction_date: type: string format: date-time description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the oldest transaction. BankingReportRequest: type: object properties: user: type: string format: uuid description: ID of the user. webhook: type: string format: uri description: Webhook URL to receive report-related [Connect Events](/api-reference/banking-overview#connect-events). bank_accounts: type: array items: type: string description: List of [bank account](/api-reference/bank-accounts) IDs to be included in the report. from_date: type: string format: date-time description: 'Restrict report to data from on or after this datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)). - `VOAI` reports - controls the length of asset history - `VOA` reports - controls the length of asset history - `VOI` reports - controls the length of income history ' income_from_date: type: string format: date-time description: 'Restrict report to data from on or after this datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)). - `VOAI` reports - controls the length of income history - Does not apply to `VOA` or `VOI` reports. ' report_custom_fields: type: array maxItems: 5 description: Include up to `5` custom objects in the report metadata. Often used for identifying information. items: $ref: '#/components/schemas/BankingReportCustomField' income_stream_confidence_minimum: type: integer minimum: 0 maximum: 100 description: 'Limit income streams used in the report to those above this confidence value (`0-100` accepted). Only available for `VOI` and `VOAI` report types. ' required: - user BankingReportCustomField: type: object properties: label: type: string description: Custom field name. value: type: string description: Custom field value. shown: type: boolean description: Show custom field on report PDF. securitySchemes: basicAuth: type: http scheme: basic description: Username = api_key_id, Password = api_key_secret