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

# Create a customer

> Creates a new customer with different verification levels and capabilities. Supports personal verified customers (individuals), business verified customers (businesses), unverified customers, and receive-only users. Customer type determines transaction limits, verification requirements, and available features.



## OpenAPI

````yaml post /customers
openapi: 3.1.0
info:
  title: Dwolla API
  description: Dwolla API Documentation
  contact:
    name: Dwolla Developer Relations Team
    url: https://developers.dwolla.com
    email: api@dwolla.com
  version: '2.0'
  termsOfService: https://www.dwolla.com/legal/tos/
  license:
    name: MIT
    url: https://github.com/Dwolla/dwolla-openapi/blob/master/LICENSE
servers:
  - url: https://api.dwolla.com
    description: Production server
  - url: https://api-sandbox.dwolla.com
    description: Sandbox server
security:
  - clientCredentials: []
tags:
  - name: tokens
    description: Operations related to Application Access Tokens
  - name: root
    description: Root API operations
  - name: accounts
    description: Operations related to Accounts
  - name: customers
    description: Operations related to Customers
  - name: kba
    description: Operations related to Knowledge-Based Authentication
  - name: beneficial owners
    description: Operations related to Beneficial Owners
  - name: documents
    description: Operations related to Documents
  - name: exchanges
    description: Operations related to Exchanges
  - name: exchange sessions
    description: Operations related to Exchange Sessions
  - name: funding sources
    description: Operations related to Funding Sources
  - name: transfers
    description: Operations related to Transfers
  - name: labels
    description: Operations related to Labels
  - name: mass payments
    description: Operations related to Mass Payments
  - name: events
    description: Operations related to Events
  - name: webhook subscriptions
    description: Operations related to Webhook Subscriptions
  - name: webhooks
    description: Operations related to Webhooks
  - name: client tokens
    description: Operations related to Client Tokens
  - name: sandbox simulations
    description: Sandbox-only operations for simulating processing of bank transfers
paths:
  /customers:
    post:
      tags:
        - customers
      summary: Create a customer
      description: >-
        Creates a new customer with different verification levels and
        capabilities. Supports personal verified customers (individuals),
        business verified customers (businesses), unverified customers, and
        receive-only users. Customer type determines transaction limits,
        verification requirements, and available features.
      operationId: createCustomer
      parameters:
        - $ref: '#/components/parameters/Accept'
      requestBody:
        required: true
        description: Parameters for customer to be created
        content:
          application/vnd.dwolla.v1.hal+json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/CreateReceiveOnlyUser'
                - $ref: '#/components/schemas/CreateUnverifiedCustomer'
                - $ref: '#/components/schemas/CreateVerifiedPersonalCustomer'
                - $ref: '#/components/schemas/CreateVerifiedSolePropCustomer'
                - $ref: >-
                    #/components/schemas/CreateVerifiedBusinessCustomerWithController
                - $ref: >-
                    #/components/schemas/CreateVerifiedBusinessCustomerWithInternationalController
      responses:
        '201':
          description: successful operation
          headers:
            Location:
              $ref: '#/components/headers/Location'
        '400':
          description: Bad Request
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: forbidden
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: forbidden
                  message:
                    type: string
                    example: Not authorized to create customers.
        '404':
          description: not found
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: notFound
                  message:
                    type: string
                    example: not found.
components:
  parameters:
    Accept:
      name: Accept
      in: header
      required: true
      description: >-
        The media type of the response. Must be
        application/vnd.dwolla.v1.hal+json
      schema:
        type: string
        enum:
          - application/vnd.dwolla.v1.hal+json
        default: application/vnd.dwolla.v1.hal+json
  schemas:
    CreateReceiveOnlyUser:
      title: CreateReceiveOnlyUser
      description: Create a Receive Only User
      type: object
      required:
        - firstName
        - lastName
        - email
        - type
      properties:
        firstName:
          type: string
          example: Account
        lastName:
          type: string
          example: Admin
        email:
          type: string
          example: accountAdmin@email.com
        type:
          type: string
          const: receive-only
        ipAddress:
          type: string
          example: 143.156.7.8
        phone:
          type: string
          example: '5555555555'
        correlationId:
          type: string
          example: fc451a7a-ae30-4404-aB95-e3553fcd733
        businessName:
          type: string
          example: Jane Corp llc
    CreateUnverifiedCustomer:
      title: CreateUnverifiedCustomer
      description: Create an Unverified Customer
      type: object
      required:
        - firstName
        - lastName
        - email
        - type
      properties:
        firstName:
          type: string
          example: Account
        lastName:
          type: string
          example: Admin
        email:
          type: string
          example: accountAdmin@email.com
        type:
          type: string
          const: unverified
        ipAddress:
          type: string
          example: 143.156.7.8
        phone:
          type: string
          example: '5555555555'
        correlationId:
          type: string
          example: fc451a7a-ae30-4404-aB95-e3553fcd733
        businessName:
          type: string
          example: Jane Corp llc
    CreateVerifiedPersonalCustomer:
      title: CreateVerifiedPersonalCustomer
      description: Create a Verified Personal customer
      type: object
      required:
        - firstName
        - lastName
        - email
        - address1
        - city
        - state
        - postalCode
        - dateOfBirth
        - type
        - ssn
      properties:
        firstName:
          type: string
          example: Account
        lastName:
          type: string
          example: Admin
        email:
          type: string
          example: accountAdmin@email.com
        ipAddress:
          type: string
          example: 143.156.7.8
        phone:
          type: string
          example: '5555555555'
        correlationId:
          type: string
          example: fc451a7a-ae30-4404-aB95-e3553fcd733
        type:
          type: string
          const: personal
        address1:
          type: string
          example: 99-99 33rd St
        address2:
          type: string
          example: 99-99 33rd St
        city:
          type: string
          example: Some City
        state:
          type: string
          example: NY
        postalCode:
          type: string
          example: '11101'
        ssn:
          type: string
          example: '1234'
        dateOfBirth:
          type: string
          example: '1980-09-12'
    CreateVerifiedSolePropCustomer:
      title: CreateVerifiedSolePropCustomer
      description: Create a Verified Business customer (Sole Proprietorship)
      type: object
      required:
        - firstName
        - lastName
        - email
        - address1
        - city
        - state
        - postalCode
        - dateOfBirth
        - type
        - ssn
        - businessType
        - businessName
        - businessClassification
      properties:
        firstName:
          type: string
          example: John
        lastName:
          type: string
          example: Doe
        email:
          type: string
          example: johndoe@email.com
        ipAddress:
          type: string
          example: 143.156.7.8
        phone:
          type: string
          example: '5555555555'
        correlationId:
          type: string
          example: fc451a7a-ae30-4404-aB95-e3553fcd733
        type:
          type: string
          const: business
        address1:
          type: string
          example: 99-99 33rd St
        address2:
          type: string
          example: 99-99 33rd St
        city:
          type: string
          example: Some City
        state:
          type: string
          example: NY
        postalCode:
          type: string
          example: '11101'
        ssn:
          type: string
          example: '1234'
        dateOfBirth:
          type: string
          example: '1980-09-12'
        businessClassification:
          type: string
          example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203
        businessName:
          type: string
          example: Jane Corp
        doingBusinessAs:
          type: string
          example: Jane's Electronics
        ein:
          type: string
          example: 00-0000000
        website:
          type: string
          example: https://www.domain.com
        businessType:
          type: string
          const: soleProprietorship
    CreateVerifiedBusinessCustomerWithController:
      title: CreateVerifiedBusinessCustomerWithController
      description: Create a Verified Business customer with a US controller
      type: object
      required:
        - firstName
        - lastName
        - email
        - address1
        - city
        - state
        - postalCode
        - type
        - businessType
        - controller
        - businessName
        - businessClassification
        - ein
      properties:
        firstName:
          type: string
          example: Jane
        lastName:
          type: string
          example: Business
        email:
          type: string
          example: jane.business@email.com
        ipAddress:
          type: string
          example: 143.156.7.8
        phone:
          type: string
          example: '5555555555'
        correlationId:
          type: string
          example: fc451a7a-ae30-4404-aB95-e3553fcd733
        type:
          type: string
          const: business
        address1:
          type: string
          example: 99-99 33rd St
        address2:
          type: string
          example: 99-99 33rd St
        city:
          type: string
          example: Some City
        state:
          type: string
          example: NY
        postalCode:
          type: string
          example: '11101'
        businessClassification:
          type: string
          example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203
        businessName:
          type: string
          example: Jane Corp
        doingBusinessAs:
          type: string
          example: Jane's Electronics
        ein:
          type: string
          example: 00-0000000
        website:
          type: string
          example: https://www.domain.com
        controller:
          type: object
          required:
            - firstName
            - lastName
            - title
            - dateOfBirth
            - address
            - ssn
          properties:
            firstName:
              type: string
              example: John
            lastName:
              type: string
              example: Controller
            title:
              type: string
              example: CEO
            dateOfBirth:
              type: string
              example: '1980-01-31'
            address:
              $ref: '#/components/schemas/InternationalAddress'
            ssn:
              type: string
              example: '1234'
        businessType:
          type: string
          enum:
            - llc
            - corporation
            - partnership
          example: llc
    CreateVerifiedBusinessCustomerWithInternationalController:
      title: CreateVerifiedBusinessCustomerWithInternationalController
      description: >-
        Create a Verified Business customer with an international (non US)
        controller
      type: object
      required:
        - firstName
        - lastName
        - email
        - address1
        - city
        - state
        - postalCode
        - type
        - businessType
        - controller
        - businessName
        - businessClassification
        - ein
      properties:
        firstName:
          type: string
          example: Jane
        lastName:
          type: string
          example: Business
        email:
          type: string
          example: jane.business@email.com
        ipAddress:
          type: string
          example: 143.156.7.8
        phone:
          type: string
          example: '5555555555'
        correlationId:
          type: string
          example: fc451a7a-ae30-4404-aB95-e3553fcd733
        type:
          type: string
          const: business
        address1:
          type: string
          example: 99-99 33rd St
        address2:
          type: string
          example: 99-99 33rd St
        city:
          type: string
          example: Some City
        state:
          type: string
          example: NY
        postalCode:
          type: string
          example: '11101'
        businessClassification:
          type: string
          example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203
        businessName:
          type: string
          example: Jane Corp
        doingBusinessAs:
          type: string
          example: Jane's Electronics
        ein:
          type: string
          example: 00-0000000
        website:
          type: string
          example: https://www.domain.com
        controller:
          type: object
          required:
            - firstName
            - lastName
            - title
            - dateOfBirth
            - address
            - passport
          properties:
            firstName:
              type: string
              example: John
            lastName:
              type: string
              example: Controller
            title:
              type: string
              example: CEO
            dateOfBirth:
              type: string
              example: '1980-01-31'
            address:
              $ref: '#/components/schemas/InternationalAddress'
            passport:
              $ref: '#/components/schemas/Passport'
        businessType:
          type: string
          enum:
            - llc
            - corporation
            - partnership
          example: llc
    BadRequestError:
      title: BadRequestError
      description: Error response schema for 400 Bad Request
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          example: BadRequest
        message:
          type: string
          example: The request body contains bad syntax or is incomplete.
    InternationalAddress:
      title: InternationalAddress
      type: object
      required:
        - address1
        - city
        - country
        - stateProvinceRegion
      properties:
        address1:
          type: string
          example: 462 Main Street
        address2:
          type: string
          example: Suite 123
        address3:
          type: string
          example: Unit 123
        city:
          type: string
          example: Des Moines
        postalCode:
          type: string
          example: '50309'
        country:
          type: string
          example: USA
        stateProvinceRegion:
          type: string
          example: IA
    Passport:
      title: Passport
      type: object
      required:
        - number
        - country
      properties:
        number:
          type: string
        country:
          type: string
  headers:
    Location:
      description: The location of the created resource
      schema:
        type: string
  securitySchemes:
    clientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /token
          x-speakeasy-token-endpoint-authentication: client_secret_basic
          scopes: {}

````