Add a representative

Moov accounts associated with businesses require information regarding individuals who represent the business. You can provide this information by creating a representative. Each account is allowed a maximum of 7 representatives. Read our business representatives guide to learn more.

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

POST
/accounts/{accountID}/representatives
cURL Go
 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
curl -X POST "https://api.moov.io/accounts/{accountID}/representatives" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "address": {
      "addressLine1": "12 Main Street",
      "city": "Cabot Cove",
      "stateOrProvince": "ME",
      "postalCode": "04103",
      "country": "US"
    },
    "birthDate": {
      "day": 10,
      "month": 11,
      "year": 1985
    },
    "email": "amanda@classbooker.dev",
    "governmentID": {
      "ssn": {
        "full":"111111111",
        "lastFour":"1111"
      }
    },
    "name": {
      "firstName": "Amanda",
      "lastName": "Yang"
    },
    "phone": {
      "number": "8185551212",
      "countryCode": "1"
    },
    "responsibilities": {
      "isController": false,
      "isOwner": true,
      "ownershipPercentage": 38,
      "jobTitle": "CEO"
    }
  }'
 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
mc, _ := moov.NewClient()

var accountID string

mc.CreateRepresentative(ctx, accountID, moov.CreateRepresentative{
  Address: &moov.Address{
    AddressLine1:    "12 Main Street",
    City:            "Cabot Cove",
	StateOrProvince: "ME",
   	PostalCode:      "04103",
	Country:         "US",
  },
  BirthDate: &moov.Date{
    Day:   10,
	Month: 11,
	Year:  1985,
  },
  Email: "amanda@classbooker.dev",
  GovernmentID: &moov.GovernmentID{
    SSN: &moov.SSN{
	  Full:     "111111111",
	  LastFour: "1111",
	},
  },
  Name: moov.Name{
    FirstName: "Amanda",
    LastName:  "Yang",
  },
  Phone: &moov.Phone{
    Number:      "8185551212",
    CountryCode: "1",
  },
  Responsibilities: &moov.Responsibilities{
    IsController:        false,
    IsOwner:             true,
    OwnershipPercentage: 38,
    JobTitle:            "CEO",
  },
})
200 400 401 403 404 409 422 429 500 504
The request completed successfully.
Describes a business representative.
{
  "address": {
    "addressLine1": "123 Main Street",
    "addressLine2": "Apt 302",
    "city": "Boulder",
    "country": "US",
    "postalCode": "80301",
    "stateOrProvince": "CO"
  },
  "birthDateProvided": true,
  "createdOn": "2019-08-24T14:15:22Z",
  "disabledOn": "2019-08-24T14:15:22Z",
  "email": "jordan.lee@classbooker.dev",
  "governmentIDProvided": true,
  "name": {
    "firstName": "Jordan",
    "lastName": "Lee",
    "middleName": "Reese",
    "suffix": "Jr"
  },
  "phone": {
    "countryCode": "1",
    "number": "8185551212"
  },
  "representativeID": "18f7ae5a-686e-4e74-a568-03dfdb83ab1d",
  "responsibilities": {
    "isController": true,
    "isOwner": true,
    "jobTitle": "CEO",
    "ownershipPercentage": 38
  },
  "updatedOn": "2019-08-24T14:15:22Z"
}

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.
{
  "error": {
    "address": {
      "addressLine1": "string",
      "addressLine2": "string",
      "city": "string",
      "country": "string",
      "postalCode": "string",
      "stateOrProvince": "string"
    },
    "birthDate": {
      "day": "string",
      "month": "string",
      "year": "string"
    },
    "email": "string",
    "governmentID": {
      "itin": {
        "full": "string",
        "lastFour": "string"
      },
      "ssn": {
        "full": "string",
        "lastFour": "string"
      }
    },
    "name": {
      "firstName": "string",
      "lastName": "string",
      "middleName": "string",
      "suffix": "string"
    },
    "phone": {
      "countryCode": "string",
      "number": "string"
    },
    "responsibilities": {
      "isController": "string",
      "isOwner": "string",
      "jobTitle": "string",
      "ownershipPercentage": "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

Path parameters

accountID

string <uuid> required
ID of the account.

Body

application/json
Describes a business representative to create.

birthDate

object
Show child attributes

day

integer required

month

integer required

year

integer required

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

responsibilities

object
Describes the job responsibilities of a business representative.
Show child attributes

isController

boolean
Indicates whether this individual has significant management responsibilities within the business.

isOwner

boolean
If true, this field indicates that the individual has a business ownership stake of at least 25% in the business. If the representative does not own at least 25% of the business, this field should be false.

jobTitle

string <=64 characters

ownershipPercentage

integer
The percentage of ownership this individual has in the business (required if isOwner is true).

Response

application/json
Describes a business representative.

createdOn

string<date-time> required

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.

representativeID

string<uuid> required
Unique identifier for this representative.

updatedOn

string<date-time> required

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

birthDateProvided

boolean
Indicates whether this representative’s birth date has been provided.

disabledOn

string<date-time>

email

string<email> <=255 characters

governmentIDProvided

boolean
Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.

phone

object
Show child attributes

countryCode

string <=1 characters

number

string <=10 characters

responsibilities

object
Describes the job responsibilities of a business representative.
Show child attributes

isController

boolean
Indicates whether this individual has significant management responsibilities within the business.

isOwner

boolean
If true, this field indicates that the individual has a business ownership stake of at least 25% in the business. If the representative does not own at least 25% of the business, this field should be false.

jobTitle

string <=64 characters

ownershipPercentage

integer
The percentage of ownership this individual has in the business (required if isOwner is true).