Kba and document status on sandbox and production account

We are creating verified personal customer and manage it’s status. We have some query regarding it.

To active kba on sandbox or production account we need to share specific customer id with you or have to share account email of sandbox and production account?

Can we get specific customer with the kba status?

  • We can only get kba session id and question set using customer id who is having kba status?
  • As right now we are getting “The requested resource was not found.” when trying to get kba question set using verified customer id.

Regarding manage document status for the customer.

Can you please guide us for integrate dwolla kba and document apis to manage personal verified customers status.


Hi @rohan_mali – we just need your email address for your account in Sandbox to enable it. In production, it is subject to further approval which you can get started on by emailing our Customer Support team at support@dwolla.com.

In order to initiate a KBA session, the customer does need to be in a KBA status. Once we enable KBA in your Sandbox account, you can following this guide to learn about simulating the KBA status for a customer for testing - Testing Different API Customer Types | Dwolla API Documentation

As for uploading a document using PHP, you could pull in something like Guzzle to make this specific request and do something like the following:

require 'vendor/autoload.php';
$access_token = '';

$path = realpath('/Path/to/file/someFile.jpeg');
$customerId = 'e528f2be-56f5-4d86-8a79-b854488fd689';

$client = new GuzzleHttp\Client(['base_uri' => 'https://api-sandbox.dwolla.com']);
  $response =  $client->post('/customers/' . $customerId . '/documents', [
         'headers' => [
             'Accept' => 'application/vnd.dwolla.v1.hal+json',
             'Authorization' => 'Bearer ' . $access_token,
         'multipart' => [
                 'name' => 'documentType',
                 'contents' => 'passport'
                 'Content-type' => 'multipart/form-data',
                 'name'     => 'file',
                 'contents' => fopen($path, 'r')

$response = $response->getHeader('location');
echo $response[0];

Hope that helps! Let us know if you have any questions!