Dwolla beneficial owners API
Operations related to Beneficial Owners
Operations related to Beneficial Owners
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dwolla-beneficial-owners-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Dwolla beneficial owners API
version: '2.0'
contact:
name: Dwolla Developer Relations Team
url: https://developers.dwolla.com
email: api@dwolla.com
license:
name: MIT
url: https://github.com/Dwolla/dwolla-openapi/blob/master/LICENSE
termsOfService: https://www.dwolla.com/legal/tos/
description: 'Operations tagged beneficial owners across 2 of this provider''s published API definitions: dwolla-beneficial-owners-openapi.yml, dwolla-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.dwolla.com
description: Production server
- url: https://api-sandbox.dwolla.com
description: Sandbox server
security:
- clientCredentials: []
tags:
- name: beneficial owners
description: Operations related to Beneficial Owners
paths:
/customers/{id}/beneficial-owners:
get:
tags:
- beneficial owners
summary: List customer beneficial owners
description: Returns all beneficial owners associated with a business verified customer. Beneficial owners are individuals who directly or indirectly own 25% or more of the company's equity. Includes personal information, verification status, and address details for each owner.
operationId: listBeneficialOwnersForCustomer
x-speakeasy-group: customers.beneficialOwners
x-speakeasy-name-override: list
x-codeSamples:
- lang: bash
source: 'GET https://api-sandbox.dwolla.com/customers/81696e5d-a593-45a6-8863-3c20ad634de5/beneficial-owners
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
'
- lang: javascript
source: "// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\nvar customerUrl = \"https://api-sandbox.dwolla.com/customers/176878b8-ecdb-469b-a82b-43ba5e8704b2\";\n\ntoken\n .get(`${customerUrl}/beneficial-owners`)\n .then((res) => res.body._embedded[\"beneficial-owners\"][0].id);\n"
- lang: python
source: '# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
customer_url = ''https://api-sandbox.dwolla.com/customers/176878b8-ecdb-469b-a82b-43ba5e8704b2''
beneficial_owners = app_token.get(''%s/beneficial-owners'' % customer_url)
beneficial_owners.body[''id'']
'
- lang: php
source: '<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$customersApi = new DwollaSwagger\CustomersApi($apiClient);
$customerUrl = ''https://api-sandbox.dwolla.com/customers/81696e5d-a593-45a6-8863-3c20ad634de5'';
$beneficialOwnerList = $customersApi->getBeneficialOwners($customerUrl);
?>
'
- lang: ruby
source: '# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
customer_url = ''https://api-sandbox.dwolla.com/customers/176878b8-ecdb-469b-a82b-43ba5e8704b2''
beneficial_owners = app_token.get "#{customer_url}/beneficial-owners"
beneficial_owners._embedded[''beneficial-owners''][0].id
'
parameters:
- name: id
in: path
description: Customer unique identifier
required: true
schema:
type: string
- $ref: '#/components/parameters/Accept'
responses:
'200':
description: successful operation
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
$ref: '#/components/schemas/BeneficialOwners'
'404':
description: not found
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
type: object
properties:
code:
type: string
example: not_found
message:
type: string
example: not found.
post:
tags:
- beneficial owners
summary: Create customer beneficial owner
description: Creates a new beneficial owner for a business verified customer. Beneficial owners are individuals who own 25% or more of the company's equity. Requires personal information, address, and SSN or passport for identity verification.
operationId: createBeneficialOwnerForCustomer
x-speakeasy-group: customers.beneficialOwners
x-speakeasy-name-override: create
x-codeSamples:
- lang: bash
source: "POST https://api-sandbox.dwolla.com/customers/81696e5d-a593-45a6-8863-3c20ad634de5/beneficial-owners\nContent-Type: application/vnd.dwolla.v1.hal+json\nAccept: application/vnd.dwolla.v1.hal+json\nAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\n{\n \"firstName\": \"document\",\n \"lastName\": \"owner\",\n \"ssn\": \"123-46-7890\",\n \"dateOfBirth\": \"1960-11-30\",\n \"address\": {\n \"address1\": \"123 Main St.\",\n \"city\": \"New York\",\n \"stateProvinceRegion\": \"NY\",\n \"country\": \"US\",\n \"postalCode\": \"10005\"\n }\n}\n"
- lang: javascript
source: "// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\nvar customerUrl = 'https://api-sandbox.dwolla.com/customers/07d59716-ef22-4fe6-98e8-f3190233dfb8';\nvar requestBody = {\n firstName: 'John',\n lastName: 'Doe',\n dateOfBirth: '1970-01-01',\n ssn: '123-56-7890',\n address: {\n address1: '99-99 33rd St',\n city: 'Some City',\n stateProvinceRegion: 'NY',\n country: 'US',\n postalCode: '11101'\n }\n};\n\ndwolla\n .post(`${customerUrl}/beneficial-owners`, requestBody)\n .then(res => res.headers.get('location'));\n"
- lang: python
source: "# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python\ncustomer_url = 'https://api-sandbox.dwolla.com/customers/AB443D36-3757-44C1-A1B4-29727FB3111C'\nrequest_body = {\n 'firstName': 'John',\n 'lastName': 'Doe',\n 'dateOfBirth': '1970-01-01',\n 'ssn': '123-46-7890',\n 'address': {\n 'address1': '99-99 33rd St',\n 'city': 'Some City',\n 'stateProvinceRegion': 'NY',\n 'country': 'US',\n 'postalCode': '11101'\n }\n}\n\nbeneficial_owner = app_token.post('%s/beneficial-owners' % customer_url, request_body)\nbeneficial_owner.headers['location']\n"
- lang: php
source: "<?php\n// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php\n$customersApi = new DwollaSwagger\\CustomersApi($apiClient);\n$verified_customer = 'https://api-sandbox.dwolla.com/customers/81696e5d-a593-45a6-8863-3c20ad634de5';\n\n$addOwner = $customersApi->addBeneficialOwner([\n 'firstName' => 'document',\n 'lastName'=> 'owner',\n 'dateOfBirth' => '1990-11-11',\n 'ssn' => '123-34-9876',\n 'address' =>\n [\n 'address1' => '18749 18th st',\n 'address2' => 'apt 12',\n 'address3' => '',\n 'city' => 'Des Moines',\n 'stateProvinceRegion' => 'IA',\n 'postalCode' => '50265',\n 'country' => 'US'\n ],\n ], $verified_customer);\n?>\n"
- lang: ruby
source: "# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby\ncustomer_url = 'https://api-sandbox.dwolla.com/customers/81696e5d-a593-45a6-8863-3c20ad634de5'\nrequest_body = {\n :firstName => 'John',\n :lastName => 'Doe',\n :ssn => '123-46-7890',\n :dateOfBirth => '1970-01-01',\n :address => {\n :address1 => '99-99 33rd St',\n :city => 'Some City',\n :stateProvinceRegion => 'NY',\n :country => 'US',\n :postalCode => '11101'\n }\n}\n\nbeneficial_owner = app_token.post \"#{customer_url}/beneficial-owners\", request_body\nbeneficial_owner.response_headers[:location]\n"
parameters:
- name: id
in: path
description: Customer ID for which to create a Beneficial Owner
required: true
style: simple
explode: false
schema:
type: string
- $ref: '#/components/parameters/Accept'
requestBody:
required: true
description: Parameters for creating a beneficial owner
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateUSBeneficialOwner'
- $ref: '#/components/schemas/CreateInternationalBeneficialOwner'
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:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
$ref: '#/components/schemas/NotFoundError'
servers:
- url: https://api.dwolla.com
description: Production server
- url: https://api-sandbox.dwolla.com
description: Sandbox server
/beneficial-owners/{id}:
get:
tags:
- beneficial owners
summary: Retrieve beneficial owner
description: Returns detailed information for a specific beneficial owner, including personal information, address, and verification status. The verification status indicates the owner's identity verification progress and affects the business customer's transaction capabilities.
operationId: retrieveBeneficialOwner
x-speakeasy-group: beneficialOwners
x-speakeasy-name-override: get
x-codeSamples:
- lang: bash
source: 'GET https://api-sandbox.dwolla.com/beneficial-owners/976a4c14-b183-40e9-b2df-ddbb3e794d3f
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
'
- 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";
dwolla.get(beneficialOwnerUrl).then((res) => res.body.firstName); // => ''Jane''
'
- 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''
beneficial_owner = app_token.get(beneficial_owner_url)
beneficial_owner.body[''firstName'']
'
- 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'';
$beneficialOwner = $beneficialOwnersApi->getById($beneficialOwnerUrl);
?>
'
- 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''
beneficial_owner = app_token.get beneficial_owner_url
beneficial_owner.firstName # => "Jane"
'
parameters:
- name: id
in: path
description: Beneficial owner unique identifier
required: true
schema:
type: string
- $ref: '#/components/parameters/Accept'
responses:
'200':
description: successful operation
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
$ref: '#/components/schemas/BeneficialOwner'
'404':
description: not found
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
type: object
properties:
code:
type: string
example: not_found
message:
type: string
example: not found.
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
x-speakeasy-group: beneficialOwners
x-speakeasy-name-override: update
x-codeSamples:
- lang: bash
source: "POST https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8\nContent-Type: application/vnd.dwolla.v1.hal+json\nAccept: application/vnd.dwolla.v1.hal+json\nAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\n{\n \"firstName\": \"beneficial\",\n \"lastName\": \"owner\",\n \"ssn\": \"123-54-6789\",\n \"dateOfBirth\": \"1963-11-11\",\n \"address\": {\n \"address1\": \"123 Main St.\",\n \"address2\": \"Apt 123\",\n \"city\": \"Des Moines\",\n \"stateProvinceRegion\": \"IA\",\n \"country\": \"US\",\n \"postalCode\": \"50309\"\n }\n}\n"
- lang: javascript
source: "// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\nvar beneficialOwnerUrl = 'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8';\nvar requestBody = {\n firstName: 'beneficial',\n lastName: 'owner',\n dateOfBirth: '1963-11-11',\n ssn: '123-54-6789',\n address: {\n address1: '123 Main St',\n city: 'Des Moines',\n stateProvinceRegion: 'IA',\n country: 'US',\n postalCode: '50309'\n }\n};\n\ndwolla\n .post(beneficialOwnerUrl, requestBody)\n .then(res => res.body.id); // => '00cb67f2-768c-4ee3-ac81-73bc4faf9c2b'\n"
- lang: python
source: "# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python\nbeneficial_owner_url = 'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8'\nrequest_body = {\n 'firstName': 'beneficial',\n 'lastName': 'owner',\n 'dateOfBirth': '1963-11-11',\n 'ssn': '123-54-6789',\n 'address': {\n 'address1': '123 Main St',\n 'city': 'Des Moines',\n 'stateProvinceRegion': 'IA',\n 'country': 'US',\n 'postalCode': '50309'\n }\n}\n\nupdate_beneficial_owner = app_token.post(beneficial_owner_url, request_body)\nupdate_beneficial_owner.body['id'] # => '00cb67f2-768c-4ee3-ac81-73bc4faf9c2b'\n"
- lang: php
source: "<?php\n// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php\n$beneficialOwnersApi = new DwollaSwagger\\BeneficialownersApi($apiClient);\n\n$beneficialOwnerUrl = 'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8';\n$updateBeneficialOwner = $beneficialOwnersApi->update([\n 'firstName' => 'beneficial',\n 'lastName'=> 'owner',\n 'dateOfBirth' => '1963-11-11',\n 'ssn' => '123-54-6789',\n 'address' =>\n [\n 'address1' => '123 Main St.',\n 'address2' => 'Apt 123',\n 'city' => 'Des Moines',\n 'stateProvinceRegion' => 'IA',\n 'postalCode' => '50309',\n 'country' => 'US'\n ],\n ], $beneficialOwnerUrl);\n\n$updateBeneficialOwner->id; # => \"00cb67f2-768c-4ee3-ac81-73bc4faf9c2b\"\n?>\n"
- lang: ruby
source: "# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby\nbeneficial_owner_url = 'https://api-sandbox.dwolla.com/beneficial-owners/07d59716-ef22-4fe6-98e8-f3190233dfb8'\nrequest_body = {\n :firstName => 'beneficial',\n :lastName => 'owner',\n :ssn => '123-54-6789',\n :dateOfBirth => '1963-11-11',\n :address => {\n :address1 => '123 Main St',\n :city => 'Des Moines',\n :stateProvinceRegion => 'IA',\n :country => 'US',\n :postalCode => '50309'\n }\n}\n\nupdate_beneficial_owner = app_token.post beneficial_owner_url, request_body\nupdate_beneficial_owner.id # => \"00cb67f2-768c-4ee3-ac81-73bc4faf9c2b\"\n"
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.
delete:
tags:
- beneficial owners
summary: Remove beneficial owner
description: Permanently removes a beneficial owner from a business customer. This action is irreversible and the beneficial owner cannot be retrieved after removal. Removing a beneficial owner will change the customer's certification status to "recertify".
operationId: deleteBeneficialOwner
x-speakeasy-group: beneficialOwners
x-speakeasy-name-override: delete
x-codeSamples:
- lang: bash
source: 'DELETE https://api-sandbox.dwolla.com/beneficial-owners/692486f8-29f6-4516-a6a5-c69fd2ce854c
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
'
- lang: javascript
source: '// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node
var beneficialOwnerUrl = "https://api-sandbox.dwolla.com/beneficial-owners/692486f8-29f6-4516-a6a5-c69fd2ce854c";
dwolla.delete(beneficialOwnerUrl);
'
- lang: python
source: '# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
beneficial_owner_url = ''https://api-sandbox.dwolla.com/beneficial-owners/692486f8-29f6-4516-a6a5-c69fd2ce854c''
app_token.delete(beneficial_owner_url)
'
- lang: php
source: '<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$beneficialOwnersApi = new DwollaSwagger\BeneficialownersApi($apiClient);
$beneficialOwner = ''https://api-sandbox.dwolla.com/beneficial-owners/692486f8-29f6-4516-a6a5-c69fd2ce854c'';
$deletedBeneficialOwner = $beneficialOwnersApi->deleteById($beneficialOwner);
?>
'
- lang: ruby
source: '# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
beneficial_owner_url = ''https://api-sandbox.dwolla.com/beneficial-owners/692486f8-29f6-4516-a6a5-c69fd2ce854c''
app_token.delete beneficial_owner_url
'
parameters:
- name: id
in: path
description: Beneficial owner unique identifier
required: true
schema:
type: string
- $ref: '#/components/parameters/Accept'
responses:
'200':
description: successful operation
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
type: object
'404':
description: not found
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
type: object
properties:
code:
type: string
example: not_found
message:
type: string
example: Beneficial owner not found.
servers:
- url: https://api.dwolla.com
description: Production server
- url: https://api-sandbox.dwolla.com
description: Sandbox server
/customers/{id}/beneficial-ownership:
get:
tags:
- beneficial owners
summary: Retrieve beneficial ownership status
description: Returns the certification status of beneficial ownership for a business verified customer. Status indicates whether beneficial owner information has been certified and affects the customer's ability to send funds. Possible values include uncertified, certified, and recertify.
operationId: getBeneficialOwnershipStatusForCustomer
x-speakeasy-group: customers.beneficialOwnership
x-speakeasy-name-override: get
x-codeSamples:
- lang: bash
source: 'GET https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc/beneficial-ownership
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
'
- lang: javascript
source: "// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\nvar customerUrl = \"https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc\";\n\ndwolla\n .get(`${customerUrl}/beneficial-ownership`)\n .then((res) => res.body.status); // => \"uncertified\"\n"
- lang: python
source: '# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
customer_url = ''https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc''
beneficial_ownership = app_token.get(''%s/beneficial-ownership'' % customer_url)
beneficial_ownership.body[''status''] # => ''uncertified''
'
- lang: php
source: '<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$customersApi = new DwollaSwagger\CustomersApi($apiClient);
$newCustomer = ''https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc'';
$customerOwnershipStatus = $customersApi->getOwnershipStatus($newCustomer);
?>
'
- lang: ruby
source: '# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
customer_url = ''https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc''
beneficial_ownership = app_token.get "#{customer_url}/beneficial-ownership"
beneficial_ownership.status # => "uncertified"
'
parameters:
- name: id
in: path
description: Customer unique identifier
required: true
schema:
type: string
- $ref: '#/components/parameters/Accept'
responses:
'200':
description: successful operation
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
$ref: '#/components/schemas/BeneficialOwnership'
'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 get certification status.
'404':
description: not found
headers: {}
content:
application/vnd.dwolla.v1.hal+json:
schema:
type: object
properties:
code:
type: string
example: not_found
message:
type: string
example: Ownership certification status not found.
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
x-speakeasy-group: customers.beneficialOwnership
x-speakeasy-name-override: certify
x-codeSamples:
- lang: bash
source: "POST https://api-sandbox.dwolla.com/customers/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc/beneficial-ownership\nAccept: application/vnd.dwolla.v1.hal+json\nContent-Type: application/vnd.dwolla.v1.hal+json\nAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\n{\n \"status\": \"certified\"\n}\n"
- lang: javascript
source: "// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\nvar customerUrl = \"https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909\";\nvar requestBody = {\n status: \"certified\",\n};\n\ndwolla.post(`${customerUrl}/beneficial-ownership`, requestBody);\n"
- lang: python
source: "# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python\ncustomer_url = 'https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909'\nrequest_body = {\n \"status\": \"certified\"\n}\n\napp_token.post('%s/beneficial-ownership' % customer_url, request_body)\n"
- 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\ncustomer_url = 'https://api-sandbox.dwolla.com/customers/e52006c3-7560-4ff1-99d5-b0f3a6f4f909'\nrequest_body = {\n :status => \"certified\"\n}\n\napp_token.post \"#{customer_url}/beneficial-ownership\", request_body\n"
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.
servers:
- url: https://api.dwolla.com
description: Production server
- url: https://api-sandbox.dwolla.com
description: Sandbox server
components:
schemas:
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
Passport:
title: Passport
type: object
required:
- number
- country
properties:
number:
type: string
country:
type: string
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
NotFoundError:
title: NotFoundError
description: Error response schema for 404 NotFound
type: object
required:
- code
- message
properties:
code:
type: string
example: NotFound
message:
type: string
example: The requested resource was not found.
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'
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'
BeneficialOwners:
title: BeneficialOwners
description: Request model for list beneficial owners
type: object
properties:
_links:
type: object
additionalProperties:
$ref: '#/components/schemas/HalLink'
_embedded:
type: object
properties:
beneficial-owners:
type: array
items:
$ref: '#/components/schemas/BeneficialOwner'
ForbiddenError:
title: ForbiddenError
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dwolla/refs/heads/main/openapi/dwolla-beneficial-owners-api-openapi.yml