> ## 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.

# Update beneficial owner

> Updates a beneficial owner's information to retry verification when their status is "incomplete". Only beneficial owners with incomplete verification status can be updated. Used to correct information that caused initial verification to fail.



## OpenAPI

````yaml post /beneficial-owners/{id}
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:
  /beneficial-owners/{id}:
    post:
      tags:
        - beneficial owners
      summary: Update beneficial owner
      description: >-
        Updates a beneficial owner's information to retry verification when
        their status is "incomplete". Only beneficial owners with incomplete
        verification status can be updated. Used to correct information that
        caused initial verification to fail.
      operationId: updateBeneficialOwner
      parameters:
        - name: id
          in: path
          description: Beneficial owner unique identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Accept'
      requestBody:
        required: true
        description: Parameters for updating a beneficial owner
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/CreateUSBeneficialOwner'
                - $ref: '#/components/schemas/CreateInternationalBeneficialOwner'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/BeneficialOwner'
        '400':
          description: ValidationError
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/ValidationErrorSchema'
        '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 update beneficial owner.
        '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: owner not found.
      x-codeSamples:
        - lang: bash
          source: >
            POST
            https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8

            Content-Type: application/vnd.dwolla.v1.hal+json

            Accept: application/vnd.dwolla.v1.hal+json

            Authorization: Bearer
            pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY


            {
              "firstName": "beneficial",
              "lastName": "owner",
              "ssn": "123-54-6789",
              "dateOfBirth": "1963-11-11",
              "address": {
                "address1": "123 Main St.",
                "address2": "Apt 123",
                "city": "Des Moines",
                "stateProvinceRegion": "IA",
                "country": "US",
                "postalCode": "50309"
              }
            }
        - lang: javascript
          source: >
            // Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node

            var beneficialOwnerUrl =
            'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8';

            var requestBody = {
              firstName: 'beneficial',
              lastName: 'owner',
              dateOfBirth: '1963-11-11',
              ssn: '123-54-6789',
              address: {
                address1: '123 Main St',
                city: 'Des Moines',
                stateProvinceRegion: 'IA',
                country: 'US',
                postalCode: '50309'
              }
            };


            dwolla
              .post(beneficialOwnerUrl, requestBody)
              .then(res => res.body.id); // => '00cb67f2-768c-4ee3-ac81-73bc4faf9c2b'
        - lang: python
          source: >
            # Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python

            beneficial_owner_url =
            'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8'

            request_body = {
              'firstName': 'beneficial',
              'lastName': 'owner',
              'dateOfBirth': '1963-11-11',
              'ssn': '123-54-6789',
              'address': {
                'address1': '123 Main St',
                'city': 'Des Moines',
                'stateProvinceRegion': 'IA',
                'country': 'US',
                'postalCode': '50309'
              }
            }


            update_beneficial_owner = app_token.post(beneficial_owner_url,
            request_body)

            update_beneficial_owner.body['id'] # =>
            '00cb67f2-768c-4ee3-ac81-73bc4faf9c2b'
        - lang: php
          source: >
            <?php

            // Using dwollaswagger -
            https://github.com/Dwolla/dwolla-swagger-php

            $beneficialOwnersApi = new
            DwollaSwagger\BeneficialownersApi($apiClient);


            $beneficialOwnerUrl =
            'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8';

            $updateBeneficialOwner = $beneficialOwnersApi->update([
                  'firstName' => 'beneficial',
                  'lastName'=> 'owner',
                  'dateOfBirth' => '1963-11-11',
                  'ssn' => '123-54-6789',
                  'address' =>
                  [
                      'address1' => '123 Main St.',
                      'address2' => 'Apt 123',
                      'city' => 'Des Moines',
                      'stateProvinceRegion' => 'IA',
                      'postalCode' => '50309',
                      'country' => 'US'
                  ],
              ], $beneficialOwnerUrl);

            $updateBeneficialOwner->id; # =>
            "00cb67f2-768c-4ee3-ac81-73bc4faf9c2b"

            ?>
        - lang: ruby
          source: >
            # Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby

            beneficial_owner_url =
            'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8'

            request_body = {
              :firstName => 'beneficial',
              :lastName => 'owner',
              :ssn => '123-54-6789',
              :dateOfBirth => '1963-11-11',
              :address => {
                :address1 => '123 Main St',
                :city => 'Des Moines',
                :stateProvinceRegion => 'IA',
                :country => 'US',
                :postalCode => '50309'
              }
            }


            update_beneficial_owner = app_token.post beneficial_owner_url,
            request_body

            update_beneficial_owner.id # =>
            "00cb67f2-768c-4ee3-ac81-73bc4faf9c2b"
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:
    CreateUSBeneficialOwner:
      title: CreateUSBeneficialOwner
      description: >-
        Create a US Beneficial Owner (identified by SSN). For US-based
        beneficial owners only. Use SSN for identity verification instead of
        passport.
      required:
        - firstName
        - lastName
        - dateOfBirth
        - address
        - ssn
      type: object
      properties:
        firstName:
          type: string
          example: John
        lastName:
          type: string
          example: Doe
        dateOfBirth:
          type: string
          example: '1980-01-31'
        address:
          $ref: '#/components/schemas/InternationalAddress'
        ssn:
          type: string
          example: '123456789'
    CreateInternationalBeneficialOwner:
      title: CreateInternationalBeneficialOwner
      description: >-
        Create an International Beneficial Owner (identified by Passport). For
        non-US beneficial owners who don't have a US SSN. Requires passport
        information for identity verification.
      required:
        - firstName
        - lastName
        - dateOfBirth
        - address
        - passport
      type: object
      properties:
        firstName:
          type: string
          example: Jane
        lastName:
          type: string
          example: Smith
        dateOfBirth:
          type: string
          example: '1985-03-15'
        address:
          $ref: '#/components/schemas/InternationalAddress'
        passport:
          $ref: '#/components/schemas/Passport'
    BeneficialOwner:
      title: BeneficialOwner
      description: Request body model for a Beneficial Owner
      type: object
      required:
        - _links
        - id
        - firstName
        - lastName
        - address
        - verificationStatus
        - created
      properties:
        _links:
          additionalProperties:
            $ref: '#/components/schemas/HalLink'
        id:
          type: string
          example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e
        firstName:
          type: string
          example: John
        lastName:
          type: string
          example: Doe
        address:
          $ref: '#/components/schemas/InternationalAddress'
        verificationStatus:
          type: string
          enum:
            - verified
            - document
            - incomplete
          example: verified
        created:
          type: string
          format: date-time
          example: '2022-07-23T00:18:21.419Z'
    ValidationErrorSchema:
      title: ValidationErrorSchema
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          example: ValidationError
        message:
          type: string
          example: >-
            Validation error(s) present. See embedded errors list for more
            details.
        _embedded:
          type: object
          properties:
            code:
              type: string
              example: ValidationError
            message:
              type: string
              example: >-
                Validation error(s) present. See embedded errors list for more
                details.
    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
    HalLink:
      title: HalLink
      type: object
      properties:
        href:
          type: string
          example: https://api.dwolla.com
        type:
          type: string
          example: application/vnd.dwolla.v1.hal+json
        resource-type:
          type: string
          example: resource-type
  securitySchemes:
    clientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /token
          x-speakeasy-token-endpoint-authentication: client_secret_basic
          scopes: {}

````