Create Recipients

Create Customer Profile API

This API creates a recipient customer profile in the Green Dot instant transfer system. As part of that, the customer information goes through Green Dot's verification process configured for this partner before initiating any further API calls, ensuring all required information was passed and there are no OFAC or compliance problems with the recipient. The profile is needed before a customer links with an external card. The same customer profile can have multiple card accounts linked to it, and the target card accounts must always be linked to a target receiving customer.

Business Logic

  • CustomerToken – If this field is left blank
    • When this field is mandatory, the partner must provide a unique value.
    • When this field is optional and the request contains a CustomerToken value, the same value is used. Otherwise, the Instant Transfer Service generates a GUID as the CustomerToken.
  • Idempotent Check -- This check is based on the CustomerToken. If the request contains a value that already exists in the database, it returns the Record already exists error.
  • DB Level Encryption -- This encryption is based on DateOfBirth.
  • CustomerID in DB -- As per Green Dot standards, the CustomerID is a GUID that the Instant Transfer service generates.

Syntax / URL

POST /programs/{programCode}/customers

Request Header

Field Name

DataType

Description

Format

Values Allowed

Required

ProgramCode

string

Partner program code

max 20 characters

min 2 characters

a-z, A-Z, hyphen, underscore, 0-9

Yes

Request

Encrypted Request Data

Field

Required

(Y/N/C)

Description

Format

Format

data

Y

encrypted request

string

Request Body Parameters

Field Name

DataType

Description

Format

Values Allowed

Required

BaaS Specification

CustomerToken

string

Unique identifier of customer

max 50 characters

a-z, A-Z, hyphen, underscore, 0-9

Conditional

FirstName

string

Customer's First name from the account

Min 1 characters

Max 35 characters

a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis( ( ), closing paranthesis( ) ), comma(,), apostrophe('), Plus(+)

Yes

Must be 1 - 35 characters long.

Cannot be more than 35 characters

MiddleName

string

Customer's Middle name

Min 1 characters

Max 35 characters

a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)

No

Must be 2 - 35 characters long.

Cannot be more than 35 characters.

LastName

string

Customer's Last name from account

Min 2 characters

Max 35 characters

a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)

Yes

Must be 2 - 35 characters long.

Cannot be more than 35 characters.

Email

string

Customer's Email

Min 6 characters

Max 255 characters

a-Z, A-Z, 0-9, underscore, hyphen, period, ampersand, @

Yes

Required for partner to provide

PhoneNumber

string

Customer's phone

only allow 10 characters

0-9

No

Partner should pass if available. Partner should pass it for RemoteP2P scenarios.

DateOfBirth

date

Customer's Date of Birth from account

YYYY-MM-DD

DOB should be less than current date

and Min year should be 1901

Conditional

Must be in the format: YYYY-MM-DD.

AddressLine1

string

Customer's Address Line1

Min 0 characters

Max 255 characters

a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)

No

o Must be 2 - 40 characters long.

o Must be the user’s home address.

o Cannot be a PO Box or non-U.S. address.

Note: Discuss any restrictions for selling in U.S.

Territories with your Green Dot onboarding
team

AddressLine2

string

Customer's Address Line2

Min 0 characters

Max 255 characters

a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)

No

If provided, must be 1 - 40 characters long

City

string

Customer's city

Min 0 characters

Max 50 characters

a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)

No

State

string

Customer's state

Min 0 characters

Max 2 characters

A-Z, a-z

No

State:

Must be 2 characters long

ZipCode

string

Customer's Zipcode

max 5 characters

min 5 characters

0-9

No

o zipCode must be 5 digits only and in the format 99999.

o No extended zip codes are allowed.

o If an extended zip code is provided, the
extended digits will be removed by the
system.

Request Sample

{
  "firstName": "tpgFN",
  "lastName": "tpgLN",
  "nickName": "string",
  "middleName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dateOfBirth": "string",
  "address": {
    "addressLine1": "string",
    "addressLine2": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string"
  },
  "customerToken": "52d7eb75-8f83-4467-88ef-8008a7aa9a4e",
}

Fields Encrypted Request

 {
   "salt": "eb6c967d-765a-4b18-9a6e-d4eb4df69efa",
  "customerToken": "52d7eb75-8f83-4467-88ef-8008a7aa9a4e",
  "encryptedData": {
        "version": "EC_v1",
        "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExwDdXm5e3P9+/nTAFW5Y+WJahmHhtbRlGwpmtoEJyiQCqBtC8NhQVsIVIq874XwY+8Yzk8LFCcdvoHn4zFwjMA==",
        "publicKeyHash": "PiRV5ko8JYGxAtcNb9WV4aVg7aXIp8EsstmeUqqWzT8=",
        "data": "DfAHBPjSNYP6umhaD9R0K4rNoQZpe/gWjwZs52o="
      } 
 }

Customer Statuses


CustomerStatusDescription
PendingBefore the first transfer
VerifiedAfter the first transfer
OFACMatch-PendingN/A
OFACMatch-ConfirmedN/A
LockedLocked
ClosedClosed

Response

Response Messages

HTTP Status CodeResponse Message
201Customer profile created successfully
401Unauthorized access, wrong token access or expired
502Service unavailable, try again later or contact IT support
503Server Error

Sample Response Body

{
  "customerToken": "eb6c967d-765a-4b18-9a6e-d4eb4df69efa",
  "status": "Verified",
  "responseDetails": [
    {
      "code": 0,
      "subCode": 0,
      "description": "string"
    }
  ]
}