Account Creation
With Veem's Account Creation API, you can create a Veem account for your business
This endpoint is used to create a new Veem account. You will need your Oauth2 token to be able to hit this endpoint.
POST https://sandbox-api.veem.com/veem/v1.2/account
Headers
There are 2 headers necessary for the use of this endpoint:
- X-request-id: This is a number unique to the current API request, and follows the UUID format. Reusing this header without changing the value will result in a 500 (Internal Server Error) status. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
- Authorization: This header holds the bearer token required to use Veem's public API. Failure to use a valid bearer token will result in a 404 (Not Found) status. An example of a valid token is as follows:
Bearer c047594b-082c-4da1-be89-08fe3770f4b3
Request Payload
When creating an account using Veem's Account Creation API, one must follow the format as shown in the following example:
{
"email": "[email protected]",
"firstName": "Thomas",
"middleName": "Robert",
"lastName": "Scott",
"extraName": "Hernandez",
"isoCountryCode": "US",
"dialCode": "+1",
"phoneNumber": "2046611473",
"businessName": "API Testing",
"businessEntity": "Corporation",
"taxIdNumber": "33-1867307",
"industry": "Software, IT and Telecommunications",
"subIndustry": "Software",
"type": "Business",
"address": {
"countryCode": "US",
"street": "166 Battery St",
"streetSecondary": "166 Battery St",
"city": "San Francisco",
"postalCode": "94111",
"province": "CA"
},
"bankInfo": {
"isoCountryCode": "US",
"bankName": "Bank of America",
"currencyCode": "USD",
"bankAccountNumber": "12345678",
"routingNumber": "026009593"
},
"extraInfo": {
"purposeOfPayment": "Services",
"purposeOfPaymentDescription": "Thanks for your services"
}
}
Note: Not all of these parameters are required for the creation of a Veem account, and can be omitted from the request body altogether. Furthermore, the parameters are different when creating a business account as opposed to a personal account.
Request Parameters
The following table contains detailed information on the payload's parameters, such as the parameter name, whether it is mandatory or not, formatting (if applicable), and size of the parameter
Parameter | Mandatory? | Format | Size (in characters) |
---|---|---|---|
Yes | [email protected] | 254 (Max) | |
firstName | Yes | 64 (Max) | |
middleName | No | 64 (Max) | |
lastName | Yes | 64 (Max) | |
extraName | No | 64 (Max) | |
isoCountryCode | Yes | ISO 3166-1 alpha-2 standard (eg. US, BE, BT etc) | 2 |
dialCode | Yes | Country code (such as +1 for US or Canada, +31 for Netherlands etc. More info available below the table) Note: The + prefix must be included in the parameter | 2-5 |
phoneNumber | Yes | 1234567654 Note: There is no need to include dashes (-) in the number. The format as shown is sufficient | 12 (Max) |
businessName | No | 12 (Max) | |
businessEntity | No | For Business: Contractor, SoleProprietorship, PersonalUse, Freelancer, SideProject, Corporation, LimitedCompany, Non-profit, Partnership For individual: Contractor, SoleProprietorship, PersonalUse, Freelancer, SideProject Note:Using the wrong businessEntity for the wrong account type will result in a 500 (Bad Request) status | 15 (Max) |
type | No | Business, Personal or Incomplete | |
dateOfBirth | No (Yes for Personal Accounts) | yyyy-mm-dd (ex. 2024-01-15) | |
taxIdNumber | XX-XXXXXXX | ||
industry | No | Please check list below | |
subIndustry | No | Please check list below Note: Subindustry is unique to each industry, and is impractical to list all of them here. Subindustry information can be found below the table | |
address | Yes | Contains the subfields with the address. prefix | |
address.countryCode | Yes | ISO 3166-1 alpha-2 standard | 2 |
address.street | Yes | ex. Battery Street | 64 (Max) |
address.streetSecondary | No | 64 (Max) | |
address.city | Yes | 2-64 | |
address.postalCode | Yes | 2-10 | |
address.province | Yes | Use this for for Canadian provinces and US state. Use two character abbreviation for US and Canada. Example: use ON for Ontario, NY for New York. | 2-64 |
bankInfo | No | Contains the subfields with the bankInfo. prefix Note: While not necessary for the creation of an account, an account cannot send or receive payments until bank information is provided | |
bankInfo.isoCountryCode | No | ISO 3166-1 alpha-2 standard | 2 |
bankInfo.bankName | No | Note: Bank name and bank routing number MUST be valid. Some countries have specific banks names, please check country-currency-map | |
bankInfo.bankAccountNumber | No | ||
bankInfo.routingNumber | No | Routing number will depend on the bank name provided. Please ensure the routing number is the appropriate one for your bank. Please check country-currency-map | |
extraInfo | No | Contains the subfields with the extraInfo. prefix | |
extraInfo.purposeOfPayment | No | Goods, Personal, Services, or Charitable Donation. Some countries will required specific information please check country-currency-map | 64 (Max) |
extraInfo.purposeOfPaymentDescription | No | 64 (Max) |
For extra information, you can find some resources here:
ISO 3166-1 alpha-2 standard: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
Dial codes: https://en.wikipedia.org/wiki/List_of_country_calling_codes
Industry and subindustry list:
Industry | SubIndustry |
---|---|
Agriculture | Animals & Livestock |
Agriculture | Marijuana, Hemp, Tobacco |
Agriculture | Crops |
Agriculture | Forestry |
Agriculture | Fishing & Hunting |
Agriculture | Supporting Activities |
Business Services | Other Business Services |
Business Services | Accounting Services |
Business Services | Affiliate Marketing |
Business Services | Direct Marketing |
Business Services | Other Advertising & Marketing |
Business Services | Call Centers & Business Centers |
Business Services | Custom Software & IT Services |
Business Services | Food Service |
Business Services | HR & Staffing |
Business Services | Information & Document Management |
Business Services | Management Consulting |
Business Services | Multimedia & Graphic Design |
Business Services | Research & Development |
Business Services | Security Products & Services |
Business Services | Translation & Linguistic Services |
Business Services | Other professional services |
Construction | Commercial |
Construction | Residential |
Construction | Other Construction |
Construction | Architecture, Engineering & Design |
Construction | Civil Engineering Construction |
Construction | Commercial & Residential Construction |
Consumer Services | Repair Services |
Consumer Services | Automotive Service |
Consumer Services | Barber Shops & Beauty Shops |
Consumer Services | Car & Truck, other Rental |
Consumer Services | Childcare |
Consumer Services | Cleaning Services |
Consumer Services | Landscape Services |
Consumer Services | Photography Studio |
Consumer Services | PC Repair Services |
Consumer Services | Weight & Health Management |
Consumer Services | Adult Industry |
Consumer Services | Other Consumer Services |
Education | Colleges & Universities |
Education | K-12 Schools |
Education | Training |
Education | Other Education |
Energy, Utilities, Waste & Minerals | Oil & Gas, Petroleum, Coal, Electricity |
Energy, Utilities, Waste & Minerals | Minerals & Mining |
Energy, Utilities, Waste & Minerals | Oil & Gas Exploration & Services |
Energy, Utilities, Waste & Minerals | Waste Treatment, Environmental Services & Recycling |
Energy, Utilities, Waste & Minerals | Water Treatment |
Finance, Insurance | Banking |
Finance, Insurance | Lending & Brokerage |
Finance, Insurance | Credit Cards & Transaction Processing |
Finance, Insurance | Investment Banking |
Finance, Insurance | Venture Capital & Private Equity |
Finance, Insurance | Insurance |
Finance, Insurance | Other Finance, Insurance |
Government, Organizations | Government & Public Services |
Government, Organizations | Membership Organizations |
Government, Organizations | Non-Profit & Charitable Organizations |
Government, Organizations | Religious Organizations |
Holding Companies & Conglomerates | Holding Companies & Conglomerates |
Hospitality, Recreation & Tourism | Amusement Parks, Arcades & Attractions |
Hospitality, Recreation & Tourism | Gambling & Gaming |
Hospitality, Recreation & Tourism | Lodging & Resorts |
Hospitality, Recreation & Tourism | Museums & Art Galleries |
Hospitality, Recreation & Tourism | Performing Arts, Theaters |
Hospitality, Recreation & Tourism | Restaurants and Drinking Places |
Hospitality, Recreation & Tourism | Sports Teams & Leagues |
Hospitality, Recreation & Tourism | Travel Agencies & Services |
Hospitality, Recreation & Tourism | Other Hospitality, Recreation |
Hospitality, Recreation & Tourism | Other |
Hospitals, Clinics & Healthcare Services | Ambulance Services |
Hospitals, Clinics & Healthcare Services | Dental Offices |
Hospitals, Clinics & Healthcare Services | Elderly Care Services |
Hospitals, Clinics & Healthcare Services | Hospitals |
Hospitals, Clinics & Healthcare Services | Medical Laboratories & Imaging Centers |
Hospitals, Clinics & Healthcare Services | Mental Health & Rehabilitation Facilities |
Hospitals, Clinics & Healthcare Services | Physicians Clinics |
Hospitals, Clinics & Healthcare Services | Veterinary Services |
Hospitals, Clinics & Healthcare Services | Other Healthcare Services |
Law Firms & Legal Services | Law Firms & Legal Services |
Manufacturing | Healthcare & Medical Devices |
Manufacturing | Commercial/Industrial Goods |
Manufacturing | Other Manufacturing |
Manufacturing | Aircraft, Vehicles, Vessels, Parts |
Manufacturing | Aircraft, Vehicles, Vessels, Parts, Railway, Train |
Manufacturing | Apparel, Footwear, & Textiles |
Manufacturing | Appliances, Electronics, Computers |
Manufacturing | Building Materials |
Manufacturing | Chemicals & Related Products |
Manufacturing | Food & Beverage |
Manufacturing | Furniture |
Manufacturing | Industrial Machinery & Equipment |
Manufacturing | Medical Devices & Equipment |
Manufacturing | Pharmaceuticals, Health & Nutrition Products |
Manufacturing | Plastic, Packaging & Containers |
Manufacturing | Sporting Goods |
Manufacturing | Telecommunication Equipment |
Manufacturing | Toys & Games |
Manufacturing | Watches & Jewelry |
Manufacturing | Wine & Spirits |
Manufacturing | Wire & Cable |
Media, Arts & Entertainment | Agents and Managers for Artists, Athletes, Entertainers |
Media, Arts & Entertainment | Broadcasting |
Media, Arts & Entertainment | Internet |
Media, Arts & Entertainment | Music Production & Services |
Media, Arts & Entertainment | Publishing & News Services |
Media, Arts & Entertainment | Social Networks |
Media, Arts & Entertainment | Astrology, Tarot Card Readings |
Media, Arts & Entertainment | Casinos/Gaming |
Media, Arts & Entertainment | Other Media, Art, Entertainment |
Real Estate | Real Estate Lessors |
Real Estate | Real Estate Agents and Brokers |
Real Estate | Other Real Estate |
Retail Trade | Apparel, Footwear, & Textiles |
Retail Trade | Automobile Dealers and Parts Stores |
Retail Trade | Consumer Electronics & Computers Retail |
Retail Trade | Convenience Stores, Gas Stations & Liquor Stores |
Retail Trade | Department Stores, Shopping Centers & Superstores |
Retail Trade | Drug Stores & Pharmacies, Health Stores |
Retail Trade | Flowers, Gifts & Specialty Stores |
Retail Trade | Furniture, Home Improvement & Hardware Retail |
Retail Trade | Grocery Retail |
Retail Trade | Jewelry & Watch Retail |
Retail Trade | Record, Video & Book Stores |
Retail Trade | Poker Chips |
Retail Trade | Sporting & Recreational Equipment Retail |
Retail Trade | Firearms, ammunition, weapons or knives |
Retail Trade | Art Dealers/Antique Dealers/Auction Houses |
Retail Trade | Marijuana, Hemp, Tobacco, Vape Juice |
Retail Trade | Pawn Shop |
Retail Trade | Adult Novelties and Toys |
Retail Trade | Other Retail Trade |
Retail Trade | Wine & Spirits Trade |
Software, IT and Telecommunications | Software |
Software, IT and Telecommunications | Mobile App Development |
Software, IT and Telecommunications | Cable & Satellite |
Software, IT and Telecommunications | Internet Service Providers, Website Hosting |
Software, IT and Telecommunications | Telephony & Wireless |
Transportation, Warehousing, Wholesale | Airlines, Airports & Air Services |
Transportation, Warehousing, Wholesale | Freight & Logistics Services |
Transportation, Warehousing, Wholesale | Marine Shipping & Transportation |
Transportation, Warehousing, Wholesale | Rail, Bus & Taxi |
Transportation, Warehousing, Wholesale | Trucking, Moving & Storage |
Transportation, Warehousing, Wholesale | Industry transportation |
Transportation, Warehousing, Wholesale | Transportation, Warehousing Other |
Transportation, Warehousing, Wholesale | Wholesale |
Transportation, Warehousing, Wholesale | Warehouse |
Response Payload
Once a valid request has been sent, a response payload of this format should be expected:
{
"id": 374999,
"email": "[email protected]",
"clientId": "APITesting-98c22708",
"clientSecret": "d7f4f648-2102-4e0a-9108-7a5e94d7dfa7",
"token": "d51948db-6da6-499e-9af5-bb48767145f5",
"expiresIn": 31557599,
"userId": 393473,
"accountSetUpStatus": "READY",
"verificationStatus": "Unverified",
"bankId": 180529,
"verificationProfile": {
"reasons": [
{
"code": "account_under_review",
"description": "Payments may be submitted but Veem will not process the payment, until risk reviews are completed"
}
]
}
}
Please make sure to save id, token and bankId info in your database for future endpoint.
The following table will provide extra information on some of these parameters:
Response Parameter | Explanation |
---|---|
id | This is the ID provided with the Veem account |
Email associated with the Veem account | |
accountSetUpStatus | When an account is ready to send payments, the field will be "READY", otherwise it will be "MISSING_INFORMATION". Note that an account could be READY, but first requires verification before it is able to send payments |
verificationStatus | Starts as "Unverified", and will change to "Verified" once the account has been verified by Veem's verification team |
verificationProfile | Check out more information at error handler page |
Possible response errors
When opening a Veem account, one might encounter some errors depending on the information provided. Here are some examples of the possible status codes one might encounter when using Veem's Account Creation API:
Account creation is successful, but missing certain info:
Status Code: 201 (Created)
Example response:
{
"id": 374999,
"email": "[email protected]",
"clientId": "APITesting-98c22708",
"clientSecret": "d7f4f648-2102-4e0a-9108-7a5e94d7dfa7",
"token": "d51948db-6da6-499e-9af5-bb48767145f5",
"expiresIn": 31557599,
"userId": 393473,
"accountSetUpStatus": "MISSING_INFORMATION",
"verificationStatus": "Unverified",
"missingInformation": [
"Bank account info is missing"
]
}
Bad Request
Status Code: 400 (Bad Request)
Example Response:
{
"fieldErrors": [
{
"field": "businessEntity",
"message": "must not be blank"
},
{
"field": "industry",
"message": "must not be blank"
},
{
"field": "phoneNumber",
"message": "must not be blank"
},
{
"field": "taxIdNumber",
"message": "must not be blank"
},
{
"field": "businessName",
"message": "must not be blank"
},
{
"field": "address",
"message": "must not be null"
}
]
}
Note: When partially omitting information for bankAccount fields (e.g. bankNumber and routingNumber), but providing the rest, one can expect a response similar to the following:
{
"id": 375005,
"email": "[email protected]",
"clientId": "APITesting-6608e0f5",
"clientSecret": "3ba6f018-792b-4308-9a17-f0ec27e3994d",
"token": "f7f5c040-b249-4ea1-8185-e7e85b709c51",
"expiresIn": 31557599,
"userId": 393479,
"accountSetUpStatus": "MISSING_INFORMATION",
"verificationStatus": "Unverified",
"missingInformation": [
"Bank account info is missing: 400 BAD_REQUEST \"Missing bank account fields: [routingNumber, bankAccountNumber]\""
],
"verificationProfile": {
"reasons": [
{
"code": "account_under_review",
"description": "Payments may be submitted but Veem will not process the payment, until risk reviews are completed"
}
]
}
}
Internal Server Error
Status Code: 500 (Internal Server Error)
Note: This is a generic error code that can occur for any number of reasons. If these errors occur, one must contact Veem support to have it ratified
Example Responses:
Maximum Characters exceeded:
{
"timestamp": 1735673162023,
"status": 500,
"error": "Internal Server Error",
"message": "Failed to call internal service",
"path": "/veem/v1.2/account"
}
Reuse of the same X-REQUEST-ID:
{
"timestamp": 1735673703326,
"status": 500,
"error": "Internal Server Error",
"message": "X-REQUEST-ID already has been used: 48855846-628d-4177-b071-80332a116f0a. Use a new one",
"path": "/veem/v1.2/account"
}
Entering incorrect business entity with account type:
{
"timestamp": 1735674059130,
"status": 500,
"error": "Internal Server Error",
"message": "Invalid business type",
"path": "/veem/v1.2/account"
}
Generic:
{
"timestamp": 1705605916361,
"status": 500,
"error": "Internal Server Error",
"message": "Unexpected error has occurred. We apologize for the inconvenience",
"path": "/veem/v1.2/account"
}
Edit account
This endpoint is used to edit specific parameters in an existing Veem account. The endpoint is as follows:
PATCH https://sandbox-api.veem.com/veem/v1.2/account/{accountId}
Headers
There are 2 headers necessary for the use of this endpoint:
- X-request-id: This is a number unique to the current API request, and follows the UUID format. Reusing this header without changing the value will result in a 500 (Internal Server Error) status. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
- Authorization: This header holds the bearer token required to use Veem's public API. Failure to use a valid bearer token will result in a 404 (Not Found) status. An example of a valid token is as follows:
Bearer d49e7fd4-2600-4dd4-a572-118668febbe7
Request Payload
When editing an account, one must follow the format as shown in the following example:
{
"subIndustry": "Software",
"firstName": "New First Name",
"lastName": "New Last Name",
"dialCode": "+1",
"phoneNumber": "6612861111",
"taxIdNumber": "54-3216789",
"businessName": "New Business Name",
"industry": "Software, IT and Telecommunications",
"address": {
"street": "Address line 1",
"streetSecondary": "Address line 1",
"city": "San Francisco",
"postalCode": "94116",
"province": "CA"
}
}
Request Parameters
The following table contains detailed information on the payload's parameters, such as the parameter name, formatting (if applicable), and size of the parameter
Note: None of these fields are mandatory. You are free to choose which fields you want to modify in an account
Parameter | Format/Values | Size |
---|---|---|
firstName | 64 (Max) | |
lastName | 64 (Max) | |
dialCode | Country code (such as +1 for US or Canada, +31 for Netherlands etc. More info available below the table) Note: The + prefix must be included in the parameter | 2-5 |
phoneNumber | 1234567654 Note: There is no need to include dashes (-) in the number. The format as shown is sufficient | 12 (Max) |
businessName | 128 (Max) | |
taxIdNumber | XX-XXXXXXX | 11 |
industry | Agriculture Business Services Construction Consumer Services Education Energy, Utilities, Waste & Minerals Finance, Insurance Government, Organizations Holding Companies & Conglomerates Hospitality, Recreation & Tourism Hospitals, Clinics & Healthcare Services Law Firms & Legal Services Manufacturing Media, Arts & Entertainment Real Estate Retail Trade Software, IT and Telecommunications Transportation, Warehousing, Wholesale | |
subIndustry | Note: Subindustry is unique to each industry, and is impractical to list all of them here. Subindustry information can be found below the table eg. For Agriculture, one can use the Crops subindustry | |
address.street | 64 (Max) | |
address.streetSecondary | 64 (Max) | |
address.city | 2-64 | |
address.postalCode | 2-10 | |
address.province | 2-64 |
For extra information, you can find some resources here:
Dial codes: https://en.wikipedia.org/wiki/List_of_country_calling_codes
Subindustry list: placeholder
Response Payload
Once a valid request has been sent, a response payload of this format should be expected:
Get account
Once a Veem account has been opened, you can fetch the account's information using the account id that you received from the Open Account endpoint. The endpoint is as follows:
GET https://sandbox-api.veem.com/veem/v1.2/account/{accountId}
Note: If coming directly from the Open Account flow, use the value from the id field and not from the userId field
Headers
There are 2 headers necessary for the use of this endpoint:
- X-request-id: This is a number unique to the current API request, and follows the UUID format. Reusing this header without changing the value will result in a 500 (Internal Server Error) status. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a
- Authorization: This header holds the bearer token required to use Veem's public API. Failure to use a valid bearer token will result in a 404 (Not Found) status. An example of a valid token is as follows:
Bearer d49e7fd4-2600-4dd4-a572-118668febbe7
Response Payload
When using the endpoint, one can expect to receive a response following the format below:
{
"id": 374999,
"email": "[email protected]",
"clientId": "APITesting-98c22708",
"clientSecret": "d7f4f648-2102-4e0a-9108-7a5e94d7dfa7",
"token": "d51948db-6da6-499e-9af5-bb48767145f5"
"accountSetUpStatus": "READY",
"verificationStatus": "Unverified",
}
The following table will provide extra information on some of these parameters:
Response Parameter | Explanation |
---|---|
id | This is the ID provided with the Veem account |
Email associated with the veem account | |
accountSetUpStatus | When an account is ready to send payments, the field will be "READY", otherwise it will be "MISSING_INFORMATION". Note that an account could be READY, but first requires verification before it is able to send payments |
verificationStatus | Starts as "Unverified", and will change to "Verified" once the account has been verified by Veem's verification team |
To get account status you can also use Webhook, check this page
Updated 3 days ago