> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Bank Account

> Create a bank account object for a worker (employee or contractor) in Zeal's system, used to pay the worker through direct deposit.

> Please ensure that you are providing validated bank account information.


## OpenAPI

````yaml openapi/zeal-api.json post /bankaccount
openapi: 3.1.0
info:
  title: zeal-api
  version: '1.0'
servers:
  - url: https://api.zeal.com
security:
  - sec0: []
paths:
  /bankaccount:
    post:
      summary: Create Bank Account
      description: Create's a bank account for a specified worker in Zeal.
      operationId: create-bank-account
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - companyID
                - id
                - account_number
                - routing_number
                - type
              properties:
                companyID:
                  type: string
                  description: Company ID of employer
                id:
                  type: string
                  description: >-
                    Employee ID or Contractor ID of the worker who owns this
                    bank account
                institution_name:
                  type: string
                  description: Institution Name for bank account (Bank Name)
                account_number:
                  type: string
                  description: Account number of bank account
                routing_number:
                  type: string
                  description: Routing number of bank account
                type:
                  type: string
                  description: Account type. Can either be `checking` or `savings`
                  enum:
                    - checking
                    - savings
                nickname:
                  type: string
                  description: Nickname of the bank account
            examples:
              Request Example:
                value:
                  companyID: fc235fcccee46aa8a082f357715bcfa
                  id: 624ccccca41ba35c05c256a66e
                  institution_name: Chase
                  account_number: '1243686537'
                  routing_number: '267084131'
                  type: checking
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    success: true
                    data:
                      bankAccountID: 1b5n28nrideucd24
                      companyID: '0987654321'
                      id: '0982354562734'
                      institution_name: Chase
                      account_number: '1243686537'
                      routing_number: '09876283743'
                      type: checking
                      nickname: Main spending account
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    default: true
                  data:
                    type: object
                    properties:
                      bankAccountID:
                        type: string
                        example: 1b5n28nrideucd24
                      companyID:
                        type: string
                        example: '0987654321'
                      id:
                        type: string
                        example: '0982354562734'
                      institution_name:
                        type: string
                        example: Chase
                      account_number:
                        type: string
                        example: '1243686537'
                      routing_number:
                        type: string
                        example: '09876283743'
                      type:
                        type: string
                        example: checking
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    success: false
                    errors:
                      - message: Routing number is invalid
                        status: 400
                        code: 56
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                    default: true
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                          example: Routing number is invalid
                        status:
                          type: integer
                          example: 400
                          default: 0
                        code:
                          type: integer
                          example: 56
                          default: 0
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: Authorization
      x-bearer-format: bearer

````