Argyle Open Banking API

The Open Banking API from Argyle — 6 operation(s) for open banking.

OpenAPI Specification

argyle-open-banking-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Argyle Accounts Open Banking API
  version: '2.0'
  description: RESTful API providing user-consented access to payroll and employment data including identities, paystubs, gigs, shifts, vehicles, ratings, payroll documents, and deposit destinations across thousands of employers and gig platforms.
  contact:
    name: Argyle Support
    url: https://docs.argyle.com/
  x-api-id: argyle
  x-audience: public
servers:
- url: https://api.argyle.com
  description: Production
- url: https://api-sandbox.argyle.com
  description: Sandbox
security:
- basicAuth: []
tags:
- name: Open Banking
paths:
  /v2/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
      tags:
      - Open Banking
  /v2/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
      tags:
      - Open Banking
  /v2/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
                last_transaction_date: '2026-06-04T16:57:23.000Z'
                oldest_transaction_date: '2024-06-08T12:00:00.000Z'
      tags:
      - Open Banking
  /v2/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
                    format: uri
                    nullable: true
                    description: URL for the next page of results, if available.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    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.
                        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.
                        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
                  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
                  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
      tags:
      - Open Banking
  /v2/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
      tags:
      - Open Banking
  /v2/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
                    format: uri
                    nullable: true
                    description: URL for the next page of results, if available.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    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: []
      tags:
      - Open Banking
components:
  schemas:
    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
    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
          format: date-time
          nullable: true
          description: Not used in banking reports.
        external_id:
          type: string
          nullable: true
          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.
    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.
    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
        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: integ

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/argyle/refs/heads/main/openapi/argyle-open-banking-api-openapi.yml