Creating Moov accounts

Onboard your users by creating a Moov account for each of them.

Moov.js makes it easy to capture the information from each of your users to create a Moov account and link their bank accounts.

Collecting information

The following example creates a new Moov account and requests four capabilities for that account.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
const moov = Moov(token);

const account = await moov.accounts.create({
  "accountType": "business",
  "profile": {
    "business": {
      "legalBusinessName": "Whole Body Fitness LLC",
      "businessType": "llc",
    }
  },
  "foreignId": "your-correlation-id",
  "capabilities": ["transfers"]
})

The account creation method will return the account object. You can use the account.accountID to request the capabilities required.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const moov = Moov(token);

const accountID = accountID;
const capabilities = [
  "transfers", 
  "send-funds", 
  "collect-funds", 
  "wallet"
];

moov.accounts.capabilities.request({accountID, capabilities});
tip
Some capabilities require your users to accept Moov’s terms of service. Check out Capabilities for the detailed requirements.

Foreign ID

You can add a foreignID or alias to a Moov account to easily track the one-to-one relationship between your users and Moov accounts. If you set the foreign ID, it must be unique.

You can find use the foreignID query parameter on the List accounts endpoint to find a Moov account.

Metadata

Metadata is a free-form key-value pair list that you can add to a Moov account. This may be useful for capturing information such as the type of account or segment the Moov account belongs to.

Form shortening

Moov makes it easier for your customers to fill in their details by offering form shortening. Start by collecting an email address and passing it through profile enrichment.

For an individual, publicly available details like their name and portions of their address may be returned. For businesses, the legal business name, website, email, phone, and industry codes may be returned. Use this data to autofill forms and ask your users to confirm it for accuracy.

Platform terms of service agreement

If the account requested a capability that requires acceptance of the Moov terms of service, the account holder must accept Moov’s platform agreement. In your application, you must display a link to the Moov platform terms of service agreement, and have them accept those terms.

Once they’ve accepted the terms of service, you’ll need to update the account via API:

tip
Learn more about implementing platform agreement acceptance via Moov.js, our browser client that collects PII data so you don’t have to be responsible for handling and storing sensitive customer information.

Indicating ownership information is complete

Depending on the businessType of their Moov account, your customers need to certify that they have provided information for all persons over the ≥ 25% ownership threshold. By setting ownersProvided = true, you are indicating that all the ownership information provided is accurate and complete. To learn more about verifying businesses, read our business representatives guide.

Note that even if there aren’t any individuals that own over 25% of the business, you must still indicate you must that information on all owners has been provided.

To update the ownersProvided field, use the PATCH account endpoint.

Moov account businessType ownersProvided Required
privateCorporation Yes
llc Yes
partnership Yes
soleProprietorship No
unincorporatedAssociation No
trust No
publicCorporation No
unincorporatedNonProfit No
incorporatedNonProfit No

Next steps

Depending on the capabilities requested for the Moov account you just set up, you may need to provide additional information about the account in order for Moov to start the automatic verification process.

For more information, read our Identity verification guide.