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

# Certify beneficial ownership

> Updates the beneficial ownership certification status to "certified", confirming that all beneficial owner information is accurate and complete. This action enables the business customer to send funds and is required to complete the verification process.



## OpenAPI

````yaml post /customers/{id}/beneficial-ownership
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/{id}/beneficial-ownership:
    post:
      tags:
        - beneficial owners
      summary: Certify beneficial ownership
      description: >-
        Updates the beneficial ownership certification status to "certified",
        confirming that all beneficial owner information is accurate and
        complete. This action enables the business customer to send funds and is
        required to complete the verification process.
      operationId: certifyBeneficialOwnershipForCustomer
      parameters:
        - name: id
          in: path
          description: Customer unique identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Accept'
      requestBody:
        required: true
        description: Parameters for certifying beneficial ownership for a Customer
        content:
          application/json:
            schema:
              required:
                - status
              type: object
              properties:
                status:
                  type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/vnd.dwolla.v1.hal+json:
              schema:
                $ref: '#/components/schemas/BeneficialOwnership'
        '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: >-
                      Forbidden from updating beneficial ownership status for
                      this customer.
      x-codeSamples:
        - lang: bash
          source: >
            POST
            https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc/beneficial-ownership

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

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

            Authorization: Bearer
            pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY


            {
              "status": "certified"
            }
        - lang: javascript
          source: >
            // Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node

            var customerUrl =
            "https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909";

            var requestBody = {
              status: "certified",
            };


            dwolla.post(`${customerUrl}/beneficial-ownership`, requestBody);
        - lang: python
          source: >
            # Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python

            customer_url =
            'https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909'

            request_body = {
                "status": "certified"
            }


            app_token.post('%s/beneficial-ownership' % customer_url,
            request_body)
        - lang: php
          source: >
            <?php

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

            $customersApi = new DwollaSwagger\CustomersApi($apiClient);

            $customerId =
            'https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909';

            $certifyCustomer = $customersApi->changeOwnershipStatus(['status' =>
            'certified' ], $customerId);

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

            customer_url =
            'https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909'

            request_body = {
              :status => "certified"
            }


            app_token.post "#{customer_url}/beneficial-ownership", request_body
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:
    BeneficialOwnership:
      title: BeneficialOwnership
      type: object
      required:
        - _links
        - status
      properties:
        _links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/HalLink'
        status:
          type: string
          enum:
            - uncertified
            - certified
            - recertify
          example: uncertified
    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.
    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: {}

````