Add Enrollment for User and Create Account/Card (Encrypted)
Creates a new enrollment for a user, including account and card creation. Supports instant issue scenarios and account upgrades (for example, from GPG to DDA if the "upgradeFlag" parameter is true). This endpoint is also used for the card-in-hand use case to support instant issue enrollment.
Key operations performed:
- Create new user
- Create account
- Create payment instrument
- Support instant issue enrollment
- Support account upgrade
Note: If POST /enrollments is called with a valid request and enrollment fails during processing, the request will be automatically completed if the customer clears OFAC.
<table><thead><tr><th>Name</th><th>Comment</th></tr></thead><tbody><tr><td>200</td><td>Success</td></tr><tr><td>400</td><td>Bad request, such as unsupported operation</td></tr><tr><td>401</td><td>Unauthorized</td></tr></tbody></table> <table><thead><tr><th>Group</th><th>Property</th><th>Required</th><th>Constraint/Scenario</th><th>HttpStatus</th><th>Code</th><th>Sub Code</th><th>Description</th></tr></thead><tbody><tr><td></td><td></td><td></td><td>PACKAGE_LOOKUP_EXCEPTION</td><td>400</td><td>5020</td><td>5021</td><td>Connection issue looking up package info</td></tr><tr><td></td><td></td><td></td><td>PACKAGE_NOT_FOUND</td><td>400</td><td>5020</td><td>5022</td><td>No package is associated with the provided identifier</td></tr><tr><td></td><td></td><td></td><td>PACKAGEID_IN_USE</td><td>400</td><td>5020</td><td>5023</td><td>The package associated with the identifier is already being used</td></tr><tr><td></td><td></td><td></td><td>INSTANT_ISSUE_NOT_SUPPORTED</td><td>400</td><td>5030</td><td>5031</td><td>Product does not support instant issue enrollment</td></tr><tr><td></td><td></td><td></td><td>INSTANT_ISSUE_REQUEST_PHYSICAL_CARD_NOT_SUPPORTED</td><td>400</td><td>5030</td><td>5032</td><td>Product does not support requesting a physical card during instant issue enrollment</td></tr><tr><td>instantIssue</td><td>type</td><td>Y ONLY if enrollment is instantIssue</td><td>INSTANT_ISSUE_TYPE</td><td>400</td><td>600</td><td>Required: 6181, Invalid: 6182</td><td>If instantIssue object is provided, then type must be provided. Must be CBS</td></tr><tr><td>instantIssue</td><td>mappingIdentifier</td><td>Y ONLY if enrollment is instantIssue</td><td>INSTANT_ISSUE_MAPPING_IDENTIFIER</td><td>400</td><td>600</td><td>Required: 6183, Invalid: 6184</td><td>If instantIssue object is provided, then mappingIdentifier must be provided</td></tr><tr><td></td><td>accountIdentifier</td><td>N</td><td>missing/invalid accountIdentifier</td><td>400</td><td>350</td><td>0</td><td>accountIdentifier is invalid</td></tr><tr><td></td><td></td><td></td><td>change user profile</td><td>400</td><td>4502</td><td>0</td><td>User profile cannot be changed</td></tr><tr><td></td><td></td><td></td><td>account status not normal</td><td>400</td><td>4503</td><td>0</td><td>Account status is not healthy</td></tr><tr><td></td><td></td><td></td><td>target product code same as current product code</td><td>400</td><td>4504</td><td>0</td><td>Account already upgraded successfully</td></tr><tr><td></td><td></td><td></td><td>same requestId, accountIdentifier is different</td><td>400</td><td>4505</td><td>0</td><td>Account not matched</td></tr><tr><td></td><td></td><td></td><td>target product code not allowed for upgrade</td><td>400</td><td>4506</td><td>0</td><td>Account already upgraded successfully</td></tr><tr><td></td><td></td><td></td><td>account not found</td><td>400</td><td>10</td><td>0</td><td>Account, account holder, or user not found</td></tr><tr><td></td><td></td><td></td><td>[CPM] upgrade service returned error</td><td>400</td><td>5030</td><td>0</td><td>A downstream provider did not return success for Upgrade Account</td></tr></tbody></table>Request
- The document declares no server URL.
- AuthAPI key in header Authorization
Path parameters
The program code for the enrollment flow.
Headers
The unique request identifier for tracking and logging.
The source system or channel identifier).
Flag to ignore multi-factor authentication; 'true' or 'false'.
The unique identifier for the enrollment request.
Request body
Response
OK
Example response
{
"account": {
"accountIdentifier": "50d51e2f-9ea8-4ffb-bc1f-7a2ac60bee8d",
"accountReferenceNumber": "YEP6449136",
"status": "normal",
"accountStatusChangedDateTime": "2022-01-27T17:30:54.037Z",
"statusReasons": [
"healthy"
],
"directDepositInformation": {
"accountNumber": "101042265200589",
"routingNumber": "096017418"
},
"purses": [
{
"purseIdentifier": "cf26903d-f1b3-46df-9d22-b7492875fdbc",
"purseType": "primary",
"availableBalance": 0,
"ledgerBalance": 0,
"availableBalanceAsOfDateTime": "2022-01-27T18:30:49Z",
"ledgerBalanceAsOfDateTime": "2022-01-27T18:30:49Z",
"isHidden": false,
"status": "active"
}
],
"accountHolders": [
{
"paymentInstruments": [
{
"encryptedPrivatePaymentInstrumentData": {
"version": "EC_v1",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6HF7whJ3zNH46NC6YuYrOMeAXnllpotZH9cPZ1iHKUG4GRlT5Cqj3vYOE7PK8FOKMjjD9ESl56ckIylWEqMw/w==",
"publicKeyHash": "yMzWGqHkTvk++4p4XJNSLVWJ7qKEzV7+w/M4BioKiyI=",
"data": "OmK78WmAZojsgR6HeL6kkN4gv4qwb4UNy8CgkZkp5zSM9h0Fi3ufDo62UIo/F5VwdaTkQYYAxF6QAUy7qLR/KFc8XJ5JSVSrELMpfNfKMIwI1M6mehI5MREmd9sugl42"
},
"paymentIdentifier": "07f4074b-ebe2-4f11-aaac-d19eb4150f00",
"paymentInstrumentIdentifier": "80225c0d-ff5f-4158-b1e9-29538f79d913",
"paymentInstrumentType": "virtual",
"status": "activated",
"isPinSet": false,
"last4Pan": "9852",
"activatedDateTime": "2022-01-27T17:30:49Z",
"issuedDateTime": "2022-01-27T17:30:49Z",
"isPrivateDataViewable": false
},
{
"paymentIdentifier": "07f4074b-ebe2-4f11-aaac-d19eb4150f00",
"paymentInstrumentIdentifier": "372dc129-33c0-431e-a75f-a07f8547e9ee",
"paymentInstrumentType": "contactlessEmv",
"status": "notActivated",
"isPinSet": false,
"last4Pan": "9852",
"issuedDateTime": "2022-01-27T17:30:51Z",
"isPrivateDataViewable": false
}
],
"user": {
"firstName": "Bob JR",
"lastName": "BOBJINJALA",
"dobStatus": "matched",
"last4Identity": "4183",
"identityType": "ssn",
"userIdentifier": "114fa377-d42d-4575-a4e9-78258e76f173",
"status": "active",
"isPrimaryAccountHolder": true,
"kycStateData": {
"ofacStatus": "passed",
"kycStatus": "passed",
"kycPendingGate": "healthy"
}
}
}
],
"accountCycleDay": 27
},
"responseDetails": [
{
"code": 0,
"subCode": 0,
"description": "Success",
"url": "http://tbd"
}
]
}Changes
No recorded changes to this operation across all 2 revisions of this API.