## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://developers.dwolla.com/llms.txt)

Use this file to discover all available pages before exploring further.

---

### POST

`https://api.dwolla.com/customers/{id}`

#### cURL

```bash
POST https://api-sandbox.dwolla.com/customers/FC451A7A-AE30-4404-AB95-E3553FCD733F
Content-Type: application/json
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "johndoe@example.com"
}
```

```javascript
// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node
dwolla
  .post("customers/FC451A7A-AE30-4404-AB95-E3553FCD733F", {
    firstName: "John",
    lastName: "Doe",
    email: "johndoe@example.com"
  })
  .then((res) => res.body);
```

```python
# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
customer = app_token.post('customers/FC451A7A-AE30-4404-AB95-E3553FCD733F', {
    'firstName': 'John',
    'lastName': 'Doe',
    'email': 'johndoe@example.com'
})
customer.body
```

```php
<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$customersApi = new DwollaSwagger\CustomersApi($apiClient);
$customer = $customersApi->updateCustomer("FC451A7A-AE30-4404-AB95-E3553FCD733F", [
    'firstName' => 'John',
    'lastName' => 'Doe',
    'email' => 'johndoe@example.com'
]);
?>
```

```ruby
# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
customer = app_token.post "customers/FC451A7A-AE30-4404-AB95-E3553FCD733F", {
  firstName: "John",
  lastName: "Doe",
  email: "johndoe@example.com"
}
```

### Responses

#### 200

```json
{
  "_links": {},
  "id": "c41125c5-99c4-4303-a9f6-d066d28a61e3",
  "firstName": "Jane",
  "lastName": "Doe",
  "email": "janedoe@mail.com",
  "created": "2022-10-07T16:46:13.023Z",
  "type": "unverified",
  "status": "unverified",
  "correlationId": "CID-abe2bb3d-d2ff-433b-95a3-0debd960ed25",
  "businessName": "Jane Corp llc"
}
```

#### 400

```json
{
  "code": "badRequest",
  "message": "Duplicate customer or validation error."
}
```

#### 403

```json
{
  "code": "forbidden",
  "message": "Not authorized to update a customer."
}
```

### Authorizations

**Authorization**  
string  
header  
required  
The access token received from the authorization server in the OAuth 2.0 flow.

### Headers

**Accept**  
enum<string>  
default:application/vnd.dwolla.v1.hal+json  
required  
The media type of the response. Must be `application/vnd.dwolla.v1.hal+json`

Available options:  
`application/vnd.dwolla.v1.hal+json`

### Path Parameters

**id**  
string  
required  
Customer unique identifier

### Body

**application/json**  
Parameters for updating a Customer

- DeactivateCustomer
- ReactivateCustomer
- SuspendCustomer
- UpdateUnverifiedAndReceiveOnly
- UpdateVerifiedPersonal
- UpdateVerifiedBusiness
- UpgradeToUnverified
- UpgradeToVerifiedPersonal
- UpgradeToVerifiedBusiness
- UpgradeToVerifiedSoleProp
- RetryVerifiedPersonal
- RetryVerifiedBusinessNoController
- RetryVerifiedBusinessWithController
- RetryVerifiedBusinessWithInternationalController
- RetryVerifiedSoleProp

**Deactivate a Customer**

**status**  
string  
required  
Example:  
`"deactivated"`

### Response

#### 200

**application/vnd.dwolla.v1.hal+json**  
successful operation

- UnverifiedCustomer
- ReceiveOnlyCustomer
- VerifiedPersonalCustomer
- VerifiedSolePropCustomer
- VerifiedBusinessCustomer

**Unverified customer**  
basic customer type with no KYC verification

**_links**  
object  
required  
Showchild attributes

**id**  
string  
required  
Example:  
`"c41125c5-99c4-4303-a9f6-d066d28a61e3"`

**firstName**  
string  
required  
Example:  
`"Jane"`

**lastName**  
string  
required  
Example:  
`"Doe"`

**email**  
string  
required  
Example:  
`"janedoe@mail.com"`

**created**  
string<date-time>  
required  
Example:  
`"2022-10-07T16:46:13.023Z"`

**type**  
enum<string>  
required  
Available options:  
`unverified`  
Example:  
`"unverified"`

**status**  
enum<string>  
required  
Available options:  
`unverified`,  
`suspended`,  
`deactivated`  
Example:  
`"unverified"`

**correlationId**  
string  
Example:  
`"CID-abe2bb3d-d2ff-433b-95a3-0debd960ed25"`

**businessName**  
string  
Example:  
`"Jane Corp llc"`
