Create onboarding invite

Create an invitation containing a unique link that allows the recipient to onboard their organization with Moov.

To access this endpoint using an access token you’ll need to specify the /accounts.write scope.

POST
/onboarding-invites
cURL
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
curl --X POST "https://api.moov.io/onboarding-invites" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "returnURL": "https://mycompany.com/account",
    "termsOfServiceURL": "https://mycompany.com/terms-of-service",
    "scopes": [
     "accounts.read"
    ],
    "capabilities": [
      "transfers"
    ],
    "feePlanCodes": [
      "merchant-direct"
    ],
    "prefill": {
      "mode": "production",
      "accountType": "business",
      "profile": {
        "business": {
          "legalBusinessName": "Whole Body Fitness LLC",
          "doingBusinessAs": "Whole Body Fitness",
          "businessType": "llc",
          "address": {
            "addressLine1": "123 Main Street",
            "addressLine2": "Apt 302",
            "city": "Boulder",
            "stateOrProvince": "CO",
            "postalCode": "80301",
            "country": "US"
          },
          "phone": {
            "number": "8185551212",
            "countryCode": "1"
          },
          "email": "amanda@classbooker.dev",
          "website": "www.wholebodyfitnessgym.com",
          "description": "Local fitness center paying out instructors",
          "taxID": {
            "ein": {
              "number": "123-45-6789"
            }
          },
          "industryCodes": {
            "naics": "713940",
            "sic": "7991",
            "mcc": "7997"
          },
          "primaryRegulator": "FDIC"
        }
      },
      "metadata": {
        "property1": "string",
        "property2": "string"
      },
      "termsOfService": {
        "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUKRJkA3dsFID6fzitMpm2qrOh4"
      },
      "foreignID": "4528aba-b9a1-11eb-8529-0242ac13003",
      "customerSupport": {
        "phone": {
          "number": "8185551212",
          "countryCode": "1"
        },
        "email": "amanda@classbooker.dev",
        "address": {
          "addressLine1": "123 Main Street",
          "addressLine2": "Apt 302",
          "city": "Boulder",
          "stateOrProvince": "CO",
          "postalCode": "80301",
          "country": "US"
        },
        "website": "www.wholebodyfitnessgym.com"
      },
      "settings": {
        "cardPayment": {
          "statementDescriptor": "Whole Body Fitness"
        },
        "achPayment": {
          "companyName": "Whole Body Fitness"
        }
      },
      "capabilities": [
        "transfers"
      ]
    }
  }'\
200 400 401 403 404 409 422 429 500 504
The request completed successfully.
{
  "capabilities": [
    "transfers"
  ],
  "code": "N1IA5eWYNh",
  "createdOn": "2019-08-24T14:15:22Z",
  "feePlanCodes": [
    "merchant-direct"
  ],
  "link": "http://example.com",
  "partner": {
    "accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9",
    "accountMode": "production",
    "displayName": "Bob's Widgets"
  },
  "prefill": {
    "accountType": "business",
    "profile": {
      "business": {
        "legalBusinessName": "Whole Body Fitness LLC"
      }
    }
  },
  "redeemedAccountID": "91d056bb-9c31-4713-899d-1d77d65c0f64",
  "redeemedOn": "2019-08-24T14:15:22Z",
  "returnURL": "string",
  "revokedOn": "2019-08-24T14:15:22Z",
  "scopes": [
    "accounts.read"
  ],
  "termsOfServiceURL": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The server could not understand the request due to invalid syntax.
{
  "error": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The requested resource was not found.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request conflicted with the current state of the target resource.
{
  "error": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.
{
  "capabilities": {
    "0": "first element failed validation..."
  },
  "feePlanCodes": {
    "0": "first element failed validation..."
  },
  "returnURL": "string",
  "scopes": {
    "0": "first element failed validation..."
  },
  "termsOfServiceURL": "string"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string <uuid> required
A unique identifier used to trace requests.

Headers

x-moov-version

string
API version

Specify an API version.

API versioning follows the format vYYYY.QQ.BB, where

  • YYYY is the year
  • QQ is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
  • BB is the build number, starting at .01, for subsequent builds in the same quarter.
    • For example, v2024.01.00 is the initial release of the first quarter of 2024.

The latest version represents the most recent development state. It may include breaking changes and should be treated as a beta release.

Default: v2024.01.00

Body

application/json
Request to create an onboarding invite.

capabilities

array required
List of capabilities you intend to request for this account. These values are used to determine what information to collect from the user during onboarding.
Possible values: transfers, send-funds, collect-funds, wallet, card-issuing

feePlanCodes

array required
List of fee plan codes to assign the account created by the invitee.

scopes

array required
List of scopes you request to use on this account. These values are used to determine what can be done with the account onboarded.
Possible values: accounts.read, accounts.write, analytics.read, apple-pay-merchant.read, apple-pay-merchant.write, apple-pay.read, apple-pay.write, bank-accounts.read, bank-accounts.write, capabilities.read, capabilities.write, cards.read, cards.write, documents.read, documents.write, fed.read, files.read, files.write, issued-cards.read, issued-cards.write, issued-cards.read-secure, payment-methods.read, ping.read, profile-enrichment.read, profile.read, profile.write, profile.disconnect, representatives.read, representatives.write, transfers.read, transfers.write, wallets.read

prefill

object
Show child attributes

accountType

string<enum> required
The type of entity represented by this account.
Possible values: individual, business

profile

object required
Show child attributes

business

object
Show child attributes

legalBusinessName

string <=64 characters required
The legal name under which the entity is registered.

address

object
Show child attributes

addressLine1

string <=60 characters required

city

string <=32 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

addressLine2

string <=32 characters

businessType

string<enum>
The type of entity represented by this business.
Possible values: soleProprietorship, unincorporatedAssociation, trust, publicCorporation, privateCorporation, llc, partnership, unincorporatedNonProfit, incorporatedNonProfit, governmentEntity

description

string [10 to 100] characters

doingBusinessAs

string <=64 characters
A registered trade name under which the business operates, if different from its legal name.

email

string<email> <=255 characters

industryCodes

object
Show child attributes

mcc

string 4 characters

naics

string [2 to 6] characters

sic

string 4 characters

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

primaryRegulator

string<enum>
If the business is a financial institution, this field describes its primary regulator.
Possible values: OCC, FDIC, NCUA, FRB

taxID

object
An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
Show child attributes

ein

object required
Show child attributes

number

string required

website

string<uri> <=100 characters

individual

object
Show child attributes

name

object required
Show child attributes

firstName

string <=64 characters required
The individual’s first given name.

lastName

string <=64 characters required
The individual’s family name.

middleName

string <=64 characters
The individual’s second given name, if any.

suffix

string <=20 characters
Suffix of a given name.

address

object
Show child attributes

addressLine1

string <=60 characters required

city

string <=32 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

addressLine2

string <=32 characters

birthDate

object
Show child attributes

day

integer required

month

integer required

year

integer required

email

string<email> <=255 characters

governmentID

object
Show child attributes

itin

object
Show child attributes

full

string Pattern

lastFour

string

ssn

object
Show child attributes

full

string Pattern

lastFour

string

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

capabilities

array
Possible values: transfers, send-funds, collect-funds, wallet, card-issuing

customerSupport

object
User-provided information that can be displayed on credit card transactions for customers to use when contacting a customer support team. This data is only allowed on a business account.
Show child attributes

address

object
Show child attributes

addressLine1

string <=60 characters required

city

string <=32 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

addressLine2

string <=32 characters

email

string<email> <=255 characters

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

website

string<uri>

foreignID

string <=64 characters
Optional alias from a foreign/external system which can be used to reference this resource.

metadata

object
Free-form key-value pair list. Useful for storing information that is not captured elsewhere.

mode

string<enum>
The operating mode for an account.
Possible values: sandbox, production

settings

object
User provided settings to manage an account.
Show child attributes

achPayment

object
Show child attributes

companyName

string [1 to 16] characters required Pattern
The description that shows up on ACH transactions. This will default to the account’s display name on account creation.

cardPayment

object
User provided settings to manage card payments. This data is only allowed on a business account.
Show child attributes

statementDescriptor

string [4 to 22] characters Pattern
The description that shows up on credit card transactions. This will default to the accounts display name on account creation.

termsOfService

Show child attributes
An encrypted value used to record acceptance of Moov’s Terms of Service.

token

string
Describes the acceptance of the Terms of Service. All data is required, and must be from the user.

acceptedDate

string<date-time>
The date and time the terms of service were accepted.

acceptedDomain

string<uri>

acceptedIP

string<ipv4>
The IP address from which the terms of service were accepted.

acceptedUserAgent

string <=255 characters
The user-agent of the user making the request.

returnURL

string<uri>
Optional URL to redirect the user to after they complete the onboarding process.

termsOfServiceURL

string<uri>
Optional URL to your organization’s terms of service.

Response

application/json

capabilities

array required
List of capabilities you intend to request for this account. These values are used to determine what information to collect from the user during onboarding.
Possible values: transfers, send-funds, collect-funds, wallet, card-issuing

code

string required
A unique code that identifies an onboarding invite.

createdOn

string<date-time> required

feePlanCodes

array required
List of fee plan codes to assign the account created by the invitee.

link

string<uri> required
A unique URL, including the invite code, that the recipient can follow to redeem the invitation.

scopes

array required
List of scopes you request to use on this account. These values are used to determine what can be done with the account onboarded.
Possible values: accounts.read, accounts.write, analytics.read, apple-pay-merchant.read, apple-pay-merchant.write, apple-pay.read, apple-pay.write, bank-accounts.read, bank-accounts.write, capabilities.read, capabilities.write, cards.read, cards.write, documents.read, documents.write, fed.read, files.read, files.write, issued-cards.read, issued-cards.write, issued-cards.read-secure, payment-methods.read, ping.read, profile-enrichment.read, profile.read, profile.write, profile.disconnect, representatives.read, representatives.write, transfers.read, transfers.write, wallets.read

partner

object
The account that created the onboarding invite.
Show child attributes

accountID

string<uuid> required
The account ID of the partner that created the invite.

accountMode

string<enum> required
The operating mode for an account.
Possible values: sandbox, production

displayName

string required
The name of the Moov account used to create the onboarding invite.

prefill

object
Show child attributes

accountType

string<enum> required
The type of entity represented by this account.
Possible values: individual, business

profile

object required
Show child attributes

business

object
Show child attributes

legalBusinessName

string <=64 characters required
The legal name under which the entity is registered.

address

object
Show child attributes

addressLine1

string <=60 characters required

city

string <=32 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

addressLine2

string <=32 characters

businessType

string<enum>
The type of entity represented by this business.
Possible values: soleProprietorship, unincorporatedAssociation, trust, publicCorporation, privateCorporation, llc, partnership, unincorporatedNonProfit, incorporatedNonProfit, governmentEntity

description

string [10 to 100] characters

doingBusinessAs

string <=64 characters
A registered trade name under which the business operates, if different from its legal name.

email

string<email> <=255 characters

industryCodes

object
Show child attributes

mcc

string 4 characters

naics

string [2 to 6] characters

sic

string 4 characters

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

primaryRegulator

string<enum>
If the business is a financial institution, this field describes its primary regulator.
Possible values: OCC, FDIC, NCUA, FRB

taxID

object
An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
Show child attributes

ein

object required
Show child attributes

number

string required

website

string<uri> <=100 characters

individual

object
Show child attributes

name

object required
Show child attributes

firstName

string <=64 characters required
The individual’s first given name.

lastName

string <=64 characters required
The individual’s family name.

middleName

string <=64 characters
The individual’s second given name, if any.

suffix

string <=20 characters
Suffix of a given name.

address

object
Show child attributes

addressLine1

string <=60 characters required

city

string <=32 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

addressLine2

string <=32 characters

birthDate

object
Show child attributes

day

integer required

month

integer required

year

integer required

email

string<email> <=255 characters

governmentID

object
Show child attributes

itin

object
Show child attributes

full

string Pattern

lastFour

string

ssn

object
Show child attributes

full

string Pattern

lastFour

string

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

capabilities

array
Possible values: transfers, send-funds, collect-funds, wallet, card-issuing

customerSupport

object
User-provided information that can be displayed on credit card transactions for customers to use when contacting a customer support team. This data is only allowed on a business account.
Show child attributes

address

object
Show child attributes

addressLine1

string <=60 characters required

city

string <=32 characters required

country

string <=2 characters required

postalCode

string <=5 characters required

stateOrProvince

string <=2 characters required

addressLine2

string <=32 characters

email

string<email> <=255 characters

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

website

string<uri>

foreignID

string <=64 characters
Optional alias from a foreign/external system which can be used to reference this resource.

metadata

object
Free-form key-value pair list. Useful for storing information that is not captured elsewhere.

mode

string<enum>
The operating mode for an account.
Possible values: sandbox, production

settings

object
User provided settings to manage an account.
Show child attributes

achPayment

object
Show child attributes

companyName

string [1 to 16] characters required Pattern
The description that shows up on ACH transactions. This will default to the account’s display name on account creation.

cardPayment

object
User provided settings to manage card payments. This data is only allowed on a business account.
Show child attributes

statementDescriptor

string [4 to 22] characters Pattern
The description that shows up on credit card transactions. This will default to the accounts display name on account creation.

termsOfService

Show child attributes
An encrypted value used to record acceptance of Moov’s Terms of Service.

token

string
Describes the acceptance of the Terms of Service. All data is required, and must be from the user.

acceptedDate

string<date-time>
The date and time the terms of service were accepted.

acceptedDomain

string<uri>

acceptedIP

string<ipv4>
The IP address from which the terms of service were accepted.

acceptedUserAgent

string <=255 characters
The user-agent of the user making the request.

redeemedAccountID

string<uuid>
The account ID of the account that redeemed the invite.

redeemedOn

string<date-time>

returnURL

string
The scopes requested by the inviter.

revokedOn

string<date-time>

termsOfServiceURL

string
The terms of service URL set by the inviter.