Skip to main content

Customer APIs

Note

Different bank partners may have different onboarding requirements. If your bank partner is Thread Bank, please refer to the Thread Customer APIs documentation.

Create Business Wallet Customer

VerbPOST
URLhttps://api.s.unit.sh/customers
Required Scopecustomers-write
Data TypebusinessWalletCustomer
Timeout (Seconds)5

Attributes

NameTypeDescription
bankName RequiredstringThe name of the bank partner this customer is about to create a wallet under.
businessName RequiredstringThe name of the business this customer represents.
address RequiredAddressAddress of the business.
ein RequiredstringBusiness EIN (numbers only).
businessVertical RequiredBusinessVerticalThe business vertical of the business.
numberOfEmployees RequiredNumberOfEmployeesThe number of employees working for this business.
tags OptionalobjectSee Updating Tags.
Example Request:
curl -X POST 'https://api.s.unit.sh/customers'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "businessWalletCustomer",
"attributes": {
"bankName": "myBankName",
"businessName": "Sirius & Snape Inc.",
"address": {
"street": "5230 Newell Rd",
"city": "Palo Alto",
"state": "CA",
"postalCode": "94303",
"country": "US"
},
"ein": "123456789",
"businessVertical": "TechnologyMediaOrTelecom",
"numberOfEmployees": "Between10And50",
"tags": {
"purpose": "Sirius & Snape Inc."
},
"idempotencyKey": "3a1a33be-4e12-4603-9ed0-820922389fb8"
}
}
}'

Response

Response is a JSON:API document.

201 Created

NameTypeDescription
data RequiredBusinessWalletCustomerThe requested resource after the operation was completed.
Example Response:
{
"data": {
"type": "businessWalletCustomer",
"id": "42",
"attributes": {
"bankName": "myBankName",
"businessName": "Sirius & Snape Inc.",
"address": {
"street": "5230 Newell Rd",
"city": "Palo Alto",
"state": "CA",
"postalCode": "94303",
"country": "US"
},
"ein": "123456789",
"businessVertical": "TechnologyMediaOrTelecom",
"numberOfEmployees": "Between10And50",
"tags": {
"purpose": "Sirius & Snape Inc."
},
"idempotencyKey": "3a1a33be-4e12-4603-9ed0-820922389fb8"
}
}
}

Update Individual Customer

Update an IndividualCustomer. The Customer Updated webhook event will be fired.

Note

Changes to a customer's name, date of birth and SSN require the discretion of a compliance officer and therefore cannot be changed using this endpoint. To change any of these, please contact Unit support with the change details and required documents (if there are any) and our compliance team will process the request for you.

VerbPATCH
URLhttps://api.s.unit.sh/customers/:customerId
Required Scopecustomers-write or customer-tags-write
Data TypeindividualCustomer
Timeout (Seconds)5

Attributes

NameTypeDescription
address OptionalAddressAddress of the individual.
To modify or add specify the new address.
phone OptionalPhonePhone of the individual.
To modify or add specify the new phone number.
email OptionalstringEmail address of the individual.
To modify or add specify the new email address.
dba OptionalstringIf the individual is a sole proprietor who is doing business under a different name.
To modify or add specify the new dba name.
numberOfEmployees OptionalNumberOfEmployeesNumber of employees if the customer is a sole proprietor.
businessVertical OptionalBusinessVerticalBusiness vertical if the customer is a sole proprietor.
occupation OptionalOccupationOccupation of the individual.
annualIncome OptionalAnnualIncomeAnnual income of the individual.
annualRevenue OptionalAnnualRevenueAnnual revenue if the customer is a sole proprietor.
website OptionalstringBusiness's website if the customer is a sole proprietor.
sourceOfIncome OptionalSourceOfIncomeSource of income of the individual.
authorizedUsers RequiredOptional. Array of AuthorizedUserArray of authorized users. The provided array items will replace the existing ones.
tags OptionalobjectSee Updating Tags.
jwtSubject OptionalstringSee this section for more information.

Response

Response is a JSON:API document.

200 OK

NameTypeDescription
data RequiredIndividualCustomerCustomer resource.
Update an individual customer:
curl -X PATCH 'https://api.s.unit.sh/customers/:customerId'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "individualCustomer",
"attributes": {
"address": {
"street": "5231 Newell Rd",
"street2": null,
"city": "Palo Alto",
"state": "CA",
"postalCode": "94301",
"country": "US"
},
"email": "richard@piedpiper.com",
"phone": {
"countryCode": "1",
"number": "5555555555"
},
"numberOfEmployees": "Between2And5",
"businessVertical": "TechnologyMediaOrTelecom",
"occupation": "ArchitectOrEngineer",
"annualIncome": "Between50kAnd100k",
"annualRevenue": "Between100kAnd200k",
"website": "https://piedpiper.com",
"sourceOfIncome": "EmploymentOrPayrollIncome",
"authorizedUsers": [
{
"fullName": {
"first": "Jared",
"last": "Dunn"
},
"email": "jared@piedpiper.com",
"phone": {
"countryCode": "1",
"number": "1555555590"
},
"canConnectWithAuthVendor": true
}
]
}
}
}'

Update Business Customer

Update a BusinessCustomer. The Customer Updated webhook event will be fired.

Note

Changes to a customer's name, date of birth and SSN require the discretion of a compliance officer and therefore cannot be changed using this endpoint. To change any of these, please contact Unit support with the change details and required documents (if there are any) and our compliance team will process the request for you.

VerbPATCH
URLhttps://api.s.unit.sh/customers/:customerId
Required Scopecustomers-write or customer-tags-write
Data TypebusinessCustomer
Timeout (Seconds)5

Attributes

NameTypeDescription
address OptionalAddressAddress of the business.
To modify specify the new address.
phone OptionalPhonePhone of the business.
To modify specify the new phone number.
contact OptionalBusinessContactPrimary contact of the business.
authorizedUsers RequiredOptional. Array of AuthorizedUserArray of authorized users. The provided array items will replace the existing ones.
dba OptionalstringTo modify or add specify the new dba name.
businessVertical OptionalBusinessVerticalThe business vertical of the business.
numberOfEmployees OptionalNumberOfEmployeesNumber of employees of the business.
annualRevenue OptionalAnnualRevenueAnnual revenue of the business.
cashFlow OptionalCashFlowCash flow of the business.
countriesOfOperation OptionalArray of ISO31661-Alpha2 stringsCountries where the business operates.
website OptionalstringBusiness's website.
stockSymbol OptionalstringStock symbol (ticker) of the business.
yearOfIncorporation OptionalYear stringYear of incorporation of the business.
operatingAddress OptionalAddressThe operating address of the business.
tags OptionalobjectSee Updating Tags.

Response

Response is a JSON:API document.

200 OK

NameTypeDescription
data RequiredBusinessCustomerCustomer resource.
Update business customer:
curl -X PATCH 'https://api.s.unit.sh/customers/:customerId'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "businessCustomer",
"attributes": {
"address": {
"street": "5231 Newell Rd",
"street2": null,
"city": "Palo Alto",
"state": "CA",
"postalCode": "94301",
"country": "US"
},
"phone": {
"countryCode": "1",
"number": "5555555555"
},
"contact": {
"fullName": {
"first": "Jone",
"last": "Doe"
},
"email": "jone.doe@unit-finance.com",
"phone": {
"countryCode": "1",
"number": "2025550108"
}
},
"businessVertical": "TechnologyMediaOrTelecom",
"numberOfEmployees": "Between50And100",
"annualRevenue": "Between500kAnd1m",
"cashFlow": "Predictable",
"countriesOfOperation": [
"US",
"CA"
],
"website": "https://piedpiper.com",
"stockSymbol": "PPI",
"yearOfIncorporation": "2014",
"operatingAddress": {
"street": "5231 Newell Rd",
"street2": null,
"city": "Palo Alto",
"state": "CA",
"postalCode": "94301",
"country": "US"
},
"authorizedUsers": [
{
"fullName": {
"first": "Jared",
"last": "Dunn"
},
"email": "jared@piedpiper.com",
"phone": {
"countryCode": "1",
"number": "1555555590"
},
"canConnectWithAuthVendor": true
}
]
}
}
}'

Update Business Customer Officer

Update an officer of a business customer.

VerbPATCH
URLhttps://api.s.unit.sh/customers/:customerId/officers/:officerId
Required Scopecustomers-write
Data Typeofficer
Timeout (Seconds)5

Attributes

NameTypeDescription
title OptionalOfficerTitleTitle of the officer.
occupation OptionalOccupationOccupation of the officer.
annualIncome OptionalAnnualIncomeAnnual income of the officer.
sourceOfIncome OptionalSourceOfIncomeSource of income of the officer.

Response

Response is a JSON:API document.

200 OK

NameTypeDescription
data RequiredOfficerUpdated officer resource.
Update business customer officer:
curl -X PATCH 'https://api.s.unit.sh/customers/:customerId/officers/:officerId'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "officer",
"attributes": {
"occupation": "ExecutiveOrManager",
"annualIncome": "Between100kAnd250k",
"sourceOfIncome": "EmploymentOrPayrollIncome",
"title": "CEO"
}
}
}'

Archive Customer

Archive a customer. The Customer Archived webhook event will be fired.

Note

Archiving a Customer is a final action that cannot be undone.
Once a Customer has been archived, they become read-only and no changes can be made to anything associated with that customer.
You may only archive a customer after all their account have been closed.
In the future, if you would like to provide financial services to the same customer, they would have to submit a new Application

VerbPOST
URLhttps://api.s.unit.sh/customers/:customerId/archive
Required Scopecustomers-write
Data TypecustomerArchive
Timeout (Seconds)5

Attributes

NameTypeDescription
reason RequiredstringThe reason for archiving the customer. One of Inactive, FraudACHActivity, FraudCardActivity, FraudCheckActivity, FraudApplicationHistory, FraudAccountActivity, FraudClientIdentified, FraudLinkedToFraudulentCustomer, ByBank. This list is subject to change.

Response

Response is a JSON:API document.

200 OK

NameTypeDescription
data RequiredBusinessCustomer or IndividualCustomerCustomer resource. be either business or individual, as indicated by the type field.
Archive Customer:
curl -X POST 'https://api.s.unit.sh/customer/10000/archive'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "archiveCustomer",
"attributes": {
"reason": "FraudCardActivity"
}
}
}'

Get by Id

Get a customer resource by id.

VerbGET
URLhttps://api.s.unit.sh/customers/{id}
Required Scopecustomers
Timeout (Seconds)5

Query Parameters

NameTypeDefaultDescription
includestring(empty)Optional. A comma-separated list of related resources to include in the response. Related resource include: authorizedUser. See Getting Related Resources

Response

Response is a JSON:API document.

200 OK

NameTypeDescription
data RequiredBusinessCustomer or IndividualCustomerCustomer resource. Can be either business or individual, as indicated by the type field.
included RequiredArray of AuthorizedUserArray of resources requested by the include query parameter.
curl -X GET 'https://api.s.unit.sh/customers/8' \
-H "Authorization: Bearer ${TOKEN}"

List

List customer resources. Paging can be applied.

VerbGET
URLhttps://api.s.unit.sh/customers
Required Scopecustomers
Timeout (Seconds)5

Query Parameters

NameTypeDefaultDescription
page[limit]integer100Optional. Maximum number of resources that will be returned. Maximum is 1000 resources. See Pagination.
page[offset]integer0Optional. Number of resources to skip. See Pagination.
filter[query]string(empty)Optional. Search term according to the Full-Text Search Rules.
filter[email]string(empty)Optional. Filter customers by email address (case sensitive).
filter[tags]Tags (JSON)(empty)Optional. Filter Customers by Tags.
filter[status][]string(empty)Optional. Filter customers by status (Active, Archived). Usage example: *filter[status][0]=Active
sortstringsort=-createdAtOptional. sort=createdAt for ascending order or sort=-createdAt (leading minus sign) for descending order.
curl -X GET 'https://api.s.unit.sh/customers?page[limit]=20&page[offset]=10' \
-H "Authorization: Bearer ${TOKEN}"

Response

Response is a JSON:API document.

200 OK

NameTypeDescription
data RequiredArray of BusinessCustomer or IndividualCustomerArray of customer resources. Each resource can be either business or individual, as indicated by the type field.
meta RequiredJSON object that contains pagination dataPagination data includes offset, limit and total (estimated total items).
Example Response:
{
"data": [
{
"type": "businessCustomer",
"id": "1",
"attributes": {
"createdAt": "2020-05-10T12:28:37.698Z",
"name": "Pied Piper",
"address": {
"street": "5230 Newell Rd",
"street2": null,
"city": "Palo Alto",
"state": "CA",
"postalCode": "94303",
"country": "US"
},
"phone": {
"countryCode": "1",
"number": "1555555566"
},
"stateOfIncorporation": "DE",
"ein": "123456789",
"entityType": "Corporation",
"contact": {
"fullName": {
"first": "Richard",
"last": "Hendricks"
},
"email": "richard@piedpiper.com",
"phone": {
"countryCode": "1",
"number": "1555555566"
}
},
"businessVertical": "TechnologyMediaOrTelecom",
"numberOfEmployees": "Between50And100",
"annualRevenue": "Between500kAnd1m",
"cashFlow": "Predictable",
"countriesOfOperation": [
"US",
"CA"
],
"website": "https://piedpiper.com",
"stockSymbol": "PPI",
"yearOfIncorporation": "2014",
"operatingAddress": {
"street": "5231 Newell Rd",
"street2": null,
"city": "Palo Alto",
"state": "CA",
"postalCode": "94301",
"country": "US"
},
"status": "Active"
},
"relationships": {
"org": {
"data": {
"type": "org",
"id": "1"
}
},
"application": {
"data": {
"type": "businessApplication",
"id": "1"
}
},
"officer": {
"data": {
"type": "officer",
"id": "12"
}
},
"beneficialOwners": {
"data": [
{
"type": "beneficialOwner",
"id": "45"
}
]
}
}
},
{
"type": "individualCustomer",
"id": "8",
"attributes": {
"createdAt": "2020-05-12T19:41:04.123Z",
"fullName": {
"first": "Peter",
"last": "Parker"
},
"ssn": "721074426",
"address": {
"street": "20 Ingram St",
"street2": null,
"city": "Forest Hills",
"state": "NY",
"postalCode": "11375",
"country": "US"
},
"dateOfBirth": "2001-08-10",
"email": "peter@oscorp.com",
"phone": {
"countryCode": "1",
"number": "1555555566"
},
"occupation": "ArchitectOrEngineer",
"annualIncome": "Between50kAnd100k",
"sourceOfIncome": "EmploymentOrPayrollIncome",
"annualRevenue": "Between100kAnd200k",
"numberOfEmployees": "Between2And5",
"businessVertical": "TechnologyMediaOrTelecom",
"website": "https://piedpiper.com",
"status": "Active"
},
"relationships": {
"org": {
"data": {
"type": "org",
"id": "1"
}
},
"application": {
"data": {
"type": "individualApplication",
"id": "8"
}
}
}
}
],
"meta": {
"pagination": {
"total": 2,
"limit": 100,
"offset": 0
}
}
}