Veem Account Creation API
With Veem's Account Creation API, you can create a Veem account for your business
Open account
This endpoint is used to create a new Veem account. You will need your Oauth2 token to be able to hit this endpoint.
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Request payload
{
"email": "[email protected]",
"firstName": "John",
"middleName": "Adam",
"lastName": "Smith",
"extraName": "",
"isoCountryCode": "US",
"dialCode": "+1",
"phoneNumber": "1234567890",
"businessName": "Smith Enterprises",
"businessEntity": "LLC",
"taxIdNumber": "12-3456789",
"industry": "Software, IT and Telecommunications",
"subIndustry": "Software",
"dateOfBirth": "1996-09-16",
"address": {
"countryCode": "US",
"street": "123 Main Street",
"streetSecondary": "Suite 100",
"city": "New York",
"postalCode": "10001",
"province": "NY"
},
"bankInfo": {
"isoCountryCode": "US",
"bankName": "Chase Bank",
"currencyCode": "USD",
"bankAccountNumber": "9876543210",
"routingNumber": "021000021"
},
"extraInfo": {
"purposeOfPayment": "Goods",
"purposeOfPaymentDescription": "Thank you for your purchase"
}
}Business Accounts
The dateOfBirth is not required for businesses.
Individual Accounts
The account type will be identified based on the provided businessEntity.
For individuals, you need to specify one of the following:
- Contractor
- SoleProprietorship
- PersonalUse
- Freelancer
- SideProject
The dateOfBirth must be provided for individuals.
The taxIdNumber usually follows the country pattern. The value sent will be validated against our pre-added format. You can find the current validation in our Country Currency Map API.
Here is an example of the validation found in Country Currency Map API
"taxIdInfo" :{
"required" : true,
"data" : [ {
"type" : "individual",
"validation" : {
"min" : "4",
"max" : "9",
"type" : "regex",
"error" : "Improper Social Security Number format, enter as XXX-XX-XXXX",
"value" : "(?!012345678)(?!123456789)(?!0{9})(?!1{9})(?!2{9})(?!3{9})(?!4{9})(?!5{9})(?!6{9})(?!7{9})(?!8{9})(?!9{9})(^(\\d{9})$|^(\\d{3}-\\d{2}-\\d{4})$)"
}
}, {
"type" : "business",
"validation" : {
"max" : "11",
"type" : "regex",
"error" : "Improper EIN format, enter as XX-XXXXXXX",
"value" : "^(?:\\d{2}-\\d{7})$"
}
}
]
}Edit account
This endpoint is used to edit some parameters of an existing account.
PATCH https://sandbox-api.veem.com/veem/v1.2/account/{accountId}
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Request payload
{
"subIndustry": "Software",
"firstName": "John",
"lastName": "Doe",
"dialCode": "+1",
"phoneNumber": "6612861111",
"taxIdNumber": "54-3216789",
"businessName": "JD Enterprises",
"industry": "Software, IT and Telecommunications",
"dateOfBirth": "1996-09-16",
"address": {
"street": "123 Main Street",
"streetSecondary": "Apt 101",
"city": "San Francisco",
"postalCode": "94116",
"province": "CA"
}
}
Response payload
{
"id": 940652,
"email": "[email protected]",
"clientId": "clientId-be1a4bfa",
"clientSecret": "5fbb2fd2-2672-4971-b3f4-45c34fc6632e",
"token": "d49e7fd4-2600-4dd4-a572-118668febbe7",
"accountSetUpStatus": "READY",
"verificationStatus": "Unverified"
}Add Beneficial Ownership Information (BOI)
Use this endpoint to add beneficial ownership information for the account that you just created.
POST https://sandbox-api.veem.com/veem/v1.2/beneficial-ownership
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Request payload
{
"beneficialOwnerShip": {
"hasAttestation": true,
"individualOwnerShip": [
{
"firstName": "Jane",
"lastName": "Smith",
"ownershipPercentage": 25,
"dateOfBirth": "05/15/1985",
"citizenshipIsoCountryCode": "US",
"addressLine1": "456 Elm Street",
"addressLine2": "Apt 202",
"addressCity": "San Francisco",
"addressState": "CA",
"addressPostalCode": "94111",
"addressIsoCountryCode": "US",
"phoneNumberType": "mobile",
"dialCode": "+1",
"phoneNumber": "4155551234",
"taxId": "123-45-6789",
"isControlPerson": true,
"title": "CEO of the company"
}
],
"businessOwnerShip": [
{
"businessName": "ABC Holdings",
"taxId": "33-1867308",
"ownershipPercentage": 25,
"addressLine1": "789 Oak Avenue",
"addressLine2": "Suite 300",
"addressCity": "San Francisco",
"addressState": "CA",
"addressPostalCode": "94111",
"addressIsoCountryCode": "US"
}
]
}
}
Note: You can add individual or business or both.
{
"beneficialOwnerShip": {
"individualOwnerShip": [
{
“Id” : 1
"firstName": "Jane",
"lastName": "Smith",
"ownershipPercentage": 25,
…..
}
],
"businessOwnerShip": [
{
“Id” : 2,
"businessName": "ABC Holdings",
"taxId": "33-1867308",
"ownershipPercentage": 25,
…
}
]
}
}Get Beneficial Ownership Information (BOI)
Use this endpoint to get a beneficial ownership information list for the account that you just created.
GET https://sandbox-api.veem.com/veem/v1.2/beneficial-ownership
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Response payload
{
"beneficialOwnerShip": {
"individualOwnerShip": [
{
“Id” : 1
"firstName": "Jane",
"lastName": "Smith",
"ownershipPercentage": 25,
…..
}
],
"businessOwnerShip": [
{
“Id” : 2,
"businessName": "ABC Holdings",
"taxId": "33-1867308",
"ownershipPercentage": 25,
…
}
]
}
}Get account status
Once you have opened an account, you can retrieve the account information using the account token and the account id that you received from the open account endpoint.
GET https://sandbox-api.veem.com/veem/v1.2/account/{accountId}
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Response payload
{
"id": 940652,
"email": "[email protected]",
"clientId": "clientId-be1a4bfa",
"clientSecret": "5fbb2fd2-2672-4971-b3f4-45c34fc6632e",
"token": "d49e7fd4-2600-4dd4-a572-118668febbe7",
"accountSetUpStatus": "READY",
"verificationStatus": "Unverified"
}
Add bank account
If you didn’t provide the bank account information in the open account endpoint, you can use the following endpoint to add all the information related to the bank account.
POST https://sandbox-api.veem.com/veem/v1.2/account/bank-account
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Request payload
{
"routingNumber": "026009593",
"bankName": "Bank of America",
"bankAccountNumber": "12345678",
"currencyCode": "USD",
"isoCountryCode": "US"
}
If you need more information about bank parameters for other countries, please take a look at country-currency-map.
Response payload
{
"id": 2761,
"accountId": 940651,
"isoCountryCode": "US",
"isoCurrencyCode": "USD",
"bankName": "Bank of America",
"beneficiaryName": "JD Enterprises",
"accountType": "Checking",
"canRemove": true,
"shortIdentifierDomestic": "5678",
"verificationStatus": "Unverified",
"status": "Active",
"externalAccountStatus": "NotConfigured"
}
Edit bank account
You can modify the bank account information using the following endpoint.
PATCH https://sandbox-api.veem.com/veem/v1.2/account/bank-account/{bankId}
Headers
Three headers are required to use this endpoint.
Required Headers
Name
Type
Required
Description
Authorization
stringYes
Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3See Get Access Token section to generate your Bearer token
X-Request-Id
stringYes
This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
Content-Type
stringYes
The content type of the request. Must be
application/json
Request payload
{
"routingNumber": "026009593",
"bankName": "Bank of America",
"bankAccountNumber": "12345678",
"currencyCode": "USD",
"isoCountryCode": "US"
}
If you need more information about bank parameters for other countries, please take a look at country-currency-map.
Response payload
{
"id": 2761,
"accountId": 940651,
"isoCountryCode": "US",
"isoCurrencyCode": "USD",
"bankName": "Bank of America",
"beneficiaryName": "JD Enterprises",
"accountType": "Checking",
"canRemove": true,
"shortIdentifierDomestic": "5678",
"verificationStatus": "Unverified",
"status": "Active",
"externalAccountStatus": "NotConfigured"
}
Updated 4 days ago
