openapi: 3.0.0
info:
  version: PSI39
  title: Initiate Enrollment API
  description: |
    This API initiates the business process to open a new account on the SEI Wealth Platform (along with any new end clients needed for that account)

    ## Revision History
    ***
    | Version | Name | Date | Description |
    | ------- | --------| ------- | ------- |
    | 1.0 | SEI Investments | April 20, 2022 | Initial version |


    ## Service Summary
    ***
    This API initiates the business process to open a new account on the SEI Wealth Platform (along with any new end clients needed for that account). A request must contain all required attributes in order to move the account to an open status. These attributes include

    1. Core Account Characteristics (e.g. account name or account number)
    2. Account Processing Characteristics (e.g. reinvestment methods)
    3. Account Ownership Details (including new end clients as necessary)
    4. Direct Service Relationships
    5. Required Third Parties on the Account (e.g. the decedent on inherited IRA accounts)

    The API does not include the ability to set several optional attributes. Examples of this optional data are

    1. Periodic Fees
    2. Statement Events and Recipients
    3. Account Optional Fields
    4. Client Optional Fields
    5. Investment Objectives and Strategies
    6. Other Third Parties not required on the account (e.g. Cash Recipients)
    7. Corporate Action Notification Details
    8. Proxy Recipient Details
    9. Initial Funding Instructions
    10. Auto-Account Naming Service
    11. Groups
    12. Goals
    13. Documents

    This API returns a businessServiceInstanceId to track the status of an initiate enrollment request.  
    &nbsp;  

    ## Service Usage
    ***
    * The API does not support Asynchronous calls.
    * The call is expected to be a single enrollment request/response. The service only supports opening one account at a time. Additionally, for enrollments that contain a new client, callers must wait until the first enrollment is completed before initating another enrollment to open a second account for the recently created client.
    * The service is available during Limited Availability.
    * The service is not available during planned outages of the SEI Wealth Platform. In the event of an outage, the service will return a 503 HTTP response code.  
    &nbsp;  

    ## Usage and Business Impact
    ***
    The API supports creating a new account for a new client, existing client, or an existing third party that is converting to a client.  Please note that the API supports all accounts except the following
    * Aggregation accounts
    * Employee and Highly Private accounts

    All attributes designated in this API as "required" must be provided to initate the enrollment.  Please note that some attributes designated in this API as "optional" may be required based on a firm's configuration or other qualifying account attributes. (e.g. If the account type is Inherited Traditional IRA, the decedent attributes become required)

    When specifying account owners, please note the following
    1. The account owner can be a new party created as part of the call or can be an existing party (end client or third party) in the system. When the account owner is an existing party, the caller must know if that party is already an end client for another account or is just a third party which has to be converted to an end client.
    2. Multiple owners (i.e. joint owners) can be specified and can be a mix of new and existing clients. One of the owners must be be specified as the primary owner.

    
    The following fields must be unique within a firm.
    * End Clients (i.e. Account Owners) and Third Parties (i.e. Decedent or Registered Contact)
      * externalPartyId / primaryOwnerExternalId
      * taxIdNumber
    * Accounts
      * accountNumber
      * legalEntityId (when applicable)
    * Enrollment Reference
      * caseReference
    

    &nbsp;
    ## Function Point
    ***
     The calling user must have full access permissions to these 3 function points
    * 6585 - Initiate Enrollment API
    * 4587 - New Enrollment
    * 166 - Account Summary / Account Global ID

    
    ## EndPoint URL
    ***
    *  /api/v1/swp/accountservice/accounts  
    &nbsp;  

    ## Sample Requests
    ***
      ### New Individual End Client with New Account
      ***

                        {
                            "data": {
                                "type": "string",
                                "attributes": {
                                    "firmId": 90040,
                                    "usedBy": "ces",
                                    "bypassApproval": true,
                                    "clientList": [
                                        {
                                            "newClient": {
                                                    "existingThirdParty": false,
                                                    "externalPartyId": "exId123",
                                                    "residingOrgId": 90040,
                                                    "clientTypeId": 5,
                                                    "clientTemplateId": 2236801,
                                                    "individualDetails": {
                                                      "firstName": "First",
                                                      "lastName": "Last",
                                                      "mailingLabelName" : "First Last",
                                                      "dateOfBirth": "1999-11-11",
                                                      "countryOfBirth": "US",
                                                      "countryOfCitizenshipFirstPassport": "US",
                                                      "certifiedFATCAComplianceId": 1
                                                    },
                                                      "isClientSubjectToFATCAWithholding" : false,
                                                       "address": {
                                                            "isoCountry": "US",
                                                            "addressLine1": "1 Freedom Valley Dr - One SEI",
                                                            "addressLine2": "PO box 1234",
                                                            "city": "Oaks",
                                                            "politicalSubDivision": "Pennsylvania",
                                                            "postalCode": "19456"
                                                        },
                                                        "taxInformation": {
                                                            "identifier": {
                                                            "identifierISOCountry": "US",
                                                            "politicalSubDivision": "South Carolina",
                                                            "taxIdTypeId": 3,
                                                            "taxIdNumber": "000-00-0000"
                                                            }
                                                        },
                                                        "employeeServicingRelationshipList": [
                                                            {
                                                                "servicingRelationshipId": 43962,
                                                                "employeeEntityId": 16811972
                                                            }
                                                        ],
                                                       "teamServicingRelationshipList": [
                                                            {
                                                                "servicingRelationshipId": 173,
                                                                "teamId": 90069
                                                            }
                                                       ]
                                            }
                                        }
                                                ],
                                                "accountList": [
                                                    {
                                                        "accountTypeId": 157,
                                                        "accountSubTypeId": 1,
                                                        "accountClassificationId": 1471,
                                                        "accountSubClassificationId": 38310,
                                                        "firmInvestmentCapacityId": 4,
                                                        "accountTemplateId": 2236803,
                                                        "reinvestmentMethodOfFundsId": 2,
                                                        "reinvestmentMethodOfSweepId": 2,
                                                        "accountName": "Test Account Name",
                                                        "residingOrgId": 90040,
                                                        "accountNumber": "TA1",
                                                        "accountBaseCurrency": "USD",
                                                        "investmentPerformanceFlg": false,
                                                        "employeeServicingRelationshipList": [
                                                            {
                                                                "servicingRelationshipId": 43965,
                                                                "employeeEntityId": 16811972
                                                            }
                                                        ],
                                                        "teamServicingRelationshipList": [
                                                            {
                                                                "servicingRelationshipId": 168,
                                                                "teamId": 90069
                                                            }
                                                        ],
                                                        "accountOwner": {
                                                            "primaryOwnerExternalId": "exId123"
                                                        },
                                                        "portfolios": [
                                                            {
                                                                "principalPortfolio": {
                                                                    "portfolioName": "Portfolio 1 Name"
                                                                }
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        }
                                }

      ### New Org Client
      ***

                  {
                    "data": {
                        "type": "string",
                        "attributes": {
                            "firmId": 90040,
                            "usedBy": "ces",
                            "bypassApproval": true,
                            "clientList": [
                                {
                                    "newClient": {
                                            "existingThirdParty": false,
                                            "externalPartyId": "exId2",
                                            "residingOrgId": 90040,
                                            "clientTypeId": 6,
                                            "clientTemplateId": 2236801,
                                            "organizationDetails": {
                                              "organizationName": "Organizations Name",
                                              "organizationTypeId": "2",
                                              "organizationSubType": "5",
                                              "certifiedFATCAComplianceId" : 2,
                                              "incorporationCountry" : "US"
                                            },
                                            "isClientSubjectToFATCAWithholding" : false,
                                            "address": {
                                                    "isoCountry": "US",
                                                    "addressLine1": "1 Freedom Valley Dr - One SEI",
                                                    "addressLine2": "PO box 1234",
                                                    "city": "Oaks",
                                                    "politicalSubDivision": "Pennsylvania",
                                                    "postalCode": "19456"
                                            },
                                            "taxInformation": {
                                                    "identifier": {
                                                    "identifierISOCountry": "US",
                                                    "politicalSubDivision": "South Carolina",
                                                    "taxIdTypeId": 2,
                                                    "taxIdNumber": "00-0000000"
                                                    }
                                            },
                                                "employeeServicingRelationshipList": [
                                                    {
                                                        "servicingRelationshipId": 43962,
                                                        "employeeEntityId": 16811972
                                                    }
                                                ],
                                               "teamServicingRelationshipList": [
                                                    {
                                                        "servicingRelationshipId": 173,
                                                        "teamId": 90069
                                                    }
                                               ]
                                    }
                                }
                            ],
                            "accountList": [
                                {
                                    "accountTypeId": 157,
                                    "accountSubTypeId": 1,
                                    "accountClassificationId": 1471,
                                    "accountSubClassificationId": 38310,
                                    "firmInvestmentCapacityId": 4,
                                    "accountTemplateId": 2236803,
                                    "reinvestmentMethodOfFundsId": 2,
                                    "reinvestmentMethodOfSweepId": 2,
                                    "accountName": "Test Account 2",
                                    "residingOrgId": 90040,
                                    "accountNumber": "TA2",
                                    "accountBaseCurrency": "USD",
                                    "investmentPerformanceFlg": false,
                                    "employeeServicingRelationshipList": [
                                        {
                                            "servicingRelationshipId": 43965,
                                            "employeeEntityId": 16811972
                                        }
                                    ],
                                    "teamServicingRelationshipList": [
                                        {
                                            "servicingRelationshipId": 168,
                                            "teamId": 90069
                                        }
                                    ],
                                    "accountOwner": {
                                        "primaryOwnerExternalId": "exId2"
                                    },
                                    "portfolios": [
                                        {
                                            "principalPortfolio": {
                                                "portfolioName": "Portfolio name"
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                }


      ### Existing Client
      ***

                      {
                        "data": {
                            "type": "string",
                            "attributes": {
                                "firmId": 90040,
                                "usedBy": "ces",
                                "bypassApproval": true,
                                "clientList": [
                                    {
                                        "existingClient": {
                                            "clientExternalPartyId": "exId3"
                                        }
                                    }
                                ],
                                "accountList": [
                                    {
                                        "accountTypeId": 157,
                                        "accountSubTypeId": 1,
                                        "accountClassificationId": 1471,
                                        "accountSubClassificationId": 38310,
                                        "firmInvestmentCapacityId": 4,
                                        "accountTemplateId": 2236803,
                                        "reinvestmentMethodOfFundsId": 2,
                                        "reinvestmentMethodOfSweepId": 2,
                                        "accountName": "Test Account 3",
                                        "residingOrgId": 90040,
                                        "accountNumber": "TA3",
                                        "accountBaseCurrency": "USD",
                                        "investmentPerformanceFlg": false,
                                        "employeeServicingRelationshipList": [
                                            {
                                                "servicingRelationshipId": 43965,
                                                "employeeEntityId": 16811972
                                            }
                                        ],
                                        "teamServicingRelationshipList": [
                                            {
                                                "servicingRelationshipId": 168,
                                                "teamId": 90069
                                            }
                                        ],
                                        "accountOwner": {
                                            "primaryOwnerExternalId": " exId3"
                                        },
                                        "portfolios": [
                                            {
                                                "principalPortfolio": {
                                                    "portfolioName": "Portfolio name"
                                                }
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    }


      ### Inherited IRA Existing Decedent
      ***

                        {
                          "data": {
                              "type": "string",
                              "attributes": {
                                  "firmId": 90040,
                                  "usedBy": "ces",
                                  "bypassApproval": true,
                                  "clientList": [
                                      {
                                          "existingClient": {
                                              "clientExternalPartyId": "exT4"
                                          }
                                      }
                                  ],
                                  "accountList": [
                                      {
                                          "accountTypeId": 180,
                                          "accountSubTypeId": 1,
                                          "accountClassificationId": 1467,
                                          "accountSubClassificationId": 38282,
                                          "firmInvestmentCapacityId": 4,
                                          "accountTemplateId": 2236805,
                                          "reinvestmentMethodOfFundsId": 2,
                                          "reinvestmentMethodOfSweepId": 2,
                                          "accountName": "Test account 4",
                                          "residingOrgId": 90040,
                                          "inheritanceDesignationId": 2,
                                          "accountNumber": "TA4",
                                          "accountBaseCurrency": "USD",
                                          "investmentPerformanceFlg": false,
                                          "employeeServicingRelationshipList": [
                                              {
                                                  "servicingRelationshipId": 43965,
                                                  "employeeEntityId": 16811972
                                              }
                                          ],
                                          "teamServicingRelationshipList": [
                                              {
                                                  "servicingRelationshipId": 168,
                                                  "teamId": 90069
                                              }
                                          ],
                                          "accountOwner": {
                                              "primaryOwnerExternalId": " exT4"
                                          },
                                          "portfolios": [
                                              {
                                                  "principalPortfolio": {
                                                      "portfolioName": "Portfolio name"
                                                  }
                                              }
                                          ],
                                          "thirdPartyDecedent": {
                                              "existingThirdPartyDecedent": {
                                                  "entityId": 2550356,
                                                  "dateDeceased": "2021-02-01"
                                              }
                                          }
                                      }
                                  ]
                              }
                          }
                      }

      ### Trust Account
      ***

              Request-

                  {
                    "data": {
                        "type": "string",
                        "attributes": {
                            "firmId": 90040,
                            "usedBy": "Carls",
                            "bypassApproval": true,
                            "clientList": [
                                {
                                    "existingClient": {
                                        "clientExternalPartyId": "exId4"
                                    }
                                }
                            ],
                            "accountList": [
                                {
                                    "accountTypeId": 157,
                                    "accountSubTypeId": 1,
                                    "accountClassificationId": 1461,
                                    "accountSubClassificationId": 88571,
                                    "firmInvestmentCapacityId": 4,
                                    "accountTemplateId": 2236803,
                                    "reinvestmentMethodOfFundsId": 2,
                                    "reinvestmentMethodOfSweepId": 2,
                                    "accountName": "test account - Trust",
                                    "residingOrgId": 90040,
                                    "accountNumber": "AT5",
                                    "accountBaseCurrency": "USD",
                                    "investmentPerformanceFlg": false,
                                    "trustAgreementDate": "1999-11-11",
                                    "employeeServicingRelationshipList": [
                                        {
                                            "servicingRelationshipId": 43965,
                                            "employeeEntityId": 16811972
                                        }
                                    ],
                                    "teamServicingRelationshipList": [
                                        {
                                            "servicingRelationshipId": 168,
                                            "teamId": 90069
                                        }
                                    ],
                                    "accountOwner": {
                                        "primaryOwnerExternalId": "exId4"
                                    },
                                    "portfolios": [
                                        {
                                            "principalPortfolio": {
                                                "portfolioName": "portfolio name"
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                }



      ### Estate Account
      ***

                Request -
                    {
                      "data": {
                          "type": "string",
                          "attributes": {
                              "firmId": 90040,
                              "usedBy": "Carls",
                              "bypassApproval": true,
                              "clientList": [
                                  {
                                      "existingClient": {
                                          "clientExternalPartyId": "exId4"
                                      }
                                  }
                              ],
                              "accountList": [
                                  {
                                      "accountTypeId": 157,
                                      "accountSubTypeId": 1,
                                      "accountClassificationId": 1464,
                                      "accountSubClassificationId": 38251,
                                      "firmInvestmentCapacityId": 4,
                                      "accountTemplateId": 2236803,
                                      "reinvestmentMethodOfFundsId": 2,
                                      "reinvestmentMethodOfSweepId": 2,
                                      "accountName": "Test Account - Estate",
                                      "residingOrgId": 90040,
                                      "accountNumber": "TA6",
                                      "accountBaseCurrency": "USD",
                                      "investmentPerformanceFlg": false,
                                      "estateInceptionDate": "1999-11-11",
                                      "employeeServicingRelationshipList": [
                                          {
                                              "servicingRelationshipId": 43965,
                                              "employeeEntityId": 16811972
                                          }
                                      ],
                                      "teamServicingRelationshipList": [
                                          {
                                              "servicingRelationshipId": 168,
                                              "teamId": 90069
                                          }
                                      ],
                                      "accountOwner": {
                                          "primaryOwnerExternalId": "exId4"
                                      },
                                      "portfolios": [
                                          {
                                              "principalPortfolio": {
                                                  "portfolioName": "Portfolio name"
                                              }
                                          }
                                      ]
                                  }
                              ]
                          }
                      }
                  }



      ### JISA Existing Registered Contact
      ***


                  {
                      "data": {
                          "type": "string",
                          "attributes": {
                              "firmId": 50011,
                              "usedBy": "Carl",
                              "bypassApproval": true,
                              "clientList": [
                                  {
                                      "newClient": {
                                          "existingThirdParty": false,
                                          "externalPartyId": "JISATXEC2",
                                          "residingOrgId": "50011",
                                          "clientTypeId": 5,
                                          "clientTemplateId": 2200108,
                                          "individualDetails": {
                                              "titleId": 1,
                                              "firstName": "FirstName",
                                              "middleName": "45",
                                              "lastName": "LastName",
                                              "suffixId": 14,
                                              "formalSalutation": "Salutation",
                                              "genderId": 1,
                                              "maritalStatusId": 1,
                                              "mailingLabelName": "LastName FirstName",
                                              "dateOfBirth": "2014-11-06",
                                              "countryOfBirth": "GB",
                                              "countryOfCitizenshipFirstPassport": "GB",
                                              "certifiedFATCAComplianceId": 1
                                          },
                                          "isClientSubjectToFATCAWithholding": true,
                                          "address": {
                                              "isoCountry": "GB",
                                              "addressLine1": "76 Main St",
                                              "addressLine2": "11th Floor",
                                              "addressLine3": "Apt 10",
                                              "city": "London",
                                              "politicalSubDivision": "Angus",
                                              "postalCode": " 19100 ",
                                              "placeInFront": true,
                                              "placeinFrontFlagApplicable": true
                                          },
                                          "phone": {
                                              "phoneMethodId": 1,
                                              "areaCode": "12345678",
                                              "localPhoneNumber": "13256"
                                          },
                                          "email": {
                                              "emailAddress": "abc@mail.com"
                                          },
                                          "taxInformation": {
                                              "identifier": {
                                                  "identifierISOCountry": "GB",
                                                  "politicalSubDivision": "Avon",
                                                  "taxIdTypeId": 5327,
                                                  "taxIdNumber": "381-29-4883"
                                              }
                                          },
                                          "employeeServicingRelationshipList": [
                                              {
                                                  "servicingRelationshipId": 46072,
                                                  "employeeEntityId": 9805246
                                              }
                                          ],
                                          "teamServicingRelationshipList": [
                                              {
                                                  "servicingRelationshipId": 59046,
                                                  "teamId": 408288
                                              }
                                          ]
                                      }
                                  }
                              ],
                              "accountList": [
                                  {
                                      "accountTypeId": 173,
                                      "accountSubTypeId": 6,
                                      "accountClassificationId": 48103,
                                      "accountSubClassificationId": 56423,
                                      "firmInvestmentCapacityId": 3,
                                      "accountTemplateId": 2980445,
                                      "reinvestmentMethodOfFundsId": 1,
                                      "accountName": "AcctName",
                                      "residingOrgId": 50011,
                                      "accountNumber": "AccNumber",
                                      "taxWrapProviderId": "9525125",
                                      "taxWrapExternalAccountNumber": "405689321",
                                      "accountBaseCurrency": "GBP",
                                      "thirdPartyRegisteredContact": {
                                          "existingThirdPartyRegisteredContact": {
                                              "entityId": "51210954"
                                          }
                                      },
                                      "employeeServicingRelationshipList": [
                                          {
                                              "servicingRelationshipId": 46073,
                                              "employeeEntityId": 9805246
                                          }
                                      ],
                                      "teamServicingRelationshipList": [
                                          {
                                              "servicingRelationshipId": 59047,
                                              "teamId": 408288
                                          }
                                      ],
                                      "accountOwner": {
                                          "primaryOwnerExternalId": "JISATXEC2"
                                      },
                                      "portfolios": [
                                          {
                                              "principalPortfolio": {
                                                  "portfolioName": "Portfolio - 2"
                                              }
                                          }
                                      ]
                                  }
                              ]
                          }
                      }
                  }



      ### JISA New Registered Contact
      ***

                      {
                          "data": {
                              "type": "string",
                              "attributes": {
                                  "firmId": 50009,
                                  "usedBy": "Carl",
                                  "bypassApproval": true,
                                  "clientList": [
                                      {
                                          "newClient": {
                                              "existingThirdParty": false,
                                              "externalPartyId": "JISAT441",
                                              "residingOrgId": 50009,
                                              "clientTypeId": 5,
                                              "clientTemplateId": 2200096,
                                              "individualDetails": {
                                                  "titleId": 9,
                                                  "firstName": "FirstName",
                                                  "middleName": "MiddleName",
                                                  "lastName": "LastName",
                                                  "suffixId": 2,
                                                  "formalSalutation": "Salutation",
                                                  "genderId": 1,
                                                  "maritalStatusId": 1,
                                                  "mailingLabelName": "LastName FirstName",
                                                  "dateOfBirth": "2020-08-19",
                                                  "countryOfBirth": "GB",
                                                  "countryOfCitizenshipFirstPassport": "GB",
                                                  "certifiedFATCAComplianceId": "1"
                                              },
                                              "isClientSubjectToFATCAWithholding": true,
                                              "address": {
                                                  "isoCountry": "GB",
                                                  "addressLine1": "76 Main St",
                                                  "addressLine2": "11th Floor",
                                                  "addressLine3": "Apt 10",
                                                  "addressLine4": "Apt 10",
                                                  "addressLine5": "Apt 10",
                                                  "city": "London",
                                                  "politicalSubDivision": "Angus",
                                                  "postalCode": "19100",
                                                  "placeInFront": true
                                              },
                                              "phone": {
                                                  "phoneMethodId": 1,
                                                  "areaCode": "12345678",
                                                  "localPhoneNumber": "13256"
                                              },
                                              "email": {
                                                  "emailAddress": "abc@mail.com"
                                              },
                                              "taxInformation": {
                                                  "identifier": {
                                                      "identifierISOCountry": "GB",
                                                      "politicalSubDivision": "Angus",
                                                      "taxIdTypeId": 5327,
                                                      "taxIdNumber": "014-48-6631"
                                                  }
                                              },
                                              "teamServicingRelationshipList": [
                                                  {
                                                      "servicingRelationshipId": 59044,
                                                      "teamId": 50594
                                                  }
                                              ],
                                              "employeeServicingRelationshipList": [
                                                  {
                                                      "servicingRelationshipId": 46070,
                                                      "employeeEntityId": 8790786
                                                  }
                                              ]
                                          }
                                      }
                                  ],
                                  "accountList": [
                                      {
                                          "accountTypeId": 173,
                                          "accountSubTypeId": 6,
                                          "accountClassificationId": 48094,
                                          "accountSubClassificationId": 56369,
                                          "firmInvestmentCapacityId": 4,
                                          "accountTemplateId": 2980925,
                                          "reinvestmentMethodOfFundsId": 1,
                                          "accountName": "AcctName",
                                          "residingOrgId": 50009,
                                          "accountNumber": "AcctNumber",
                                          "taxWrapProviderId": "33182",
                                          "accountBaseCurrency": "GBP",
                                          "thirdPartyRegisteredContact": {
                                              "newThirdPartyRegisteredContact": {
                                                  "externalPartyId": "RJISAT441",
                                                  "dateOfBirth": "2000-10-10",
                                                  "firstName": "FirstName",
                                                  "lastName": "LastName",
                                                  "thirdPartyTypeId": "5",
                                                  "newThirdPartyRegisteredContactAddress": {
                                                      "addressLine1": "62 L1 street park palaza road side walkstreet near 1",
                                                      "addressLine2": "62 L2 street park palaza road side walkstreet near 2",
                                                      "addressLine3": "62 L3 street park palaza road side walkstreet near 3",
                                                      "addressLine4": "62 L4 street park palaza road side walkstreet near 4",
                                                      "addressLine5": "62 L5 street park palaza road side walkstreet near 5",
                                                      "city": "york",
                                                      "isoCountry": "GB",
                                                      "politicalSubDivision": "Angus",
                                                      "postalCode": "1VV444",
                                                      "placeInFront": true
                                                  },
                                                  "newThirdPartyRegisteredContactTaxIdentifier": {
                                                      "identifierISOCountry": "GB",
                                                      "politicalSubDivision": "Avon",
                                                      "taxIdTypeId": "7",
                                                      "taxIdNumber": "AA024389A"
                                                  }
                                              }
                                          },
                                          "employeeServicingRelationshipList": [
                                              {
                                                  "servicingRelationshipId": 46071,
                                                  "employeeEntityId": 8790786
                                              }
                                          ],
                                          "teamServicingRelationshipList": [
                                              {
                                                  "servicingRelationshipId": 59045,
                                                  "teamId": 50594
                                              }
                                          ],
                                          "accountOwner": {
                                              "primaryOwnerExternalId": "JISAT441"
                                          },
                                          "portfolios": [
                                              {
                                                  "principalPortfolio": {
                                                      "portfolioName": "Portfolio - 2"
                                                  }
                                              }
                                          ]
                                      }
                                  ]
                              }
                          }
                      }

      ### Shadow Account New enrollment
      ***

                    {
                      "data": {
                          "attributes": {
                              "firmId": "90165",
                              "usedBy": "SEI",
                              "account": {
                                  "accountNumber": "132547856",
                                  "accountName": "accountName",
                                  "accountBaseCurrency": "USD",
                                  "accountTypeId": "157",
                                  "accountTemplateId": "3246828",
                                  "accountSubTypeId": "8",
                                  "firmInvestmentCapacityId": "3",
                                  "inheritanceDesignationId": "1",
                                  "reinvestmentMethodOfFundsId": "2",
                                  "accountClassificationId": "85502",
                                  "accountSubClassificationId": "89032",
                                  "residingOrgId": "90165",
                                  "investmentPerformanceFlg": "true",
                                  "employeeServicingRelationships": [
                                      {
                                          "servicingRelationshipId": 85057,
                                          "employeeId": 2823671
                                      },
                                      {
                                          "servicingRelationshipId": 85059,
                                          "employeeId": 2823659
                                      },
                                      {
                                          "servicingRelationshipId": 85061,
                                          "employeeId": 2823686
                                      },
                                      {
                                          "servicingRelationshipId": 85063,
                                          "employeeId": 16501477
                                      }
                                  ],
                                  "portfolios": [
                                      {
                                          "principalPortfolio": {
                                              "portfolioName": "Portfolio - 2",
                                              "portfolioPurposeId": "2"
                                          },
                                          "incomePortfolio": {
                                              "portfolioName": "Portfolio - 2"
                                          }
                                      }
                                  ],
                                  "shadowAccountProperties": {
                                      "externalAccountReference": "aaa",
                                      "dataSource": "3",
                                      "aggregationProvider": "2",
                                      "percentage": 10,
                                      "tradingEligible": true,
                                      "heldAt": "999"
                                  },
                                  "accountOwner": {
                                      "primaryOwnerExternalId": "11014"
                                  }
                              },
                              "clientList": [
                                  {
                                      "newClient": {
                                          "existingThirdParty": "False",
                                          "externalPartyId": "11014",
                                          "residingOrgId": "90165",
                                          "clientTypeId": "5",
                                          "clientTemplateId": "2341801",
                                          "individualDetails": {
                                              "titleId": 1,
                                              "firstName": "GTC",
                                              "middleName": "ACH",
                                              "lastName": "ACH",
                                              "suffixId": 1,
                                              "formalSalutation": "Sir",
                                              "genderId": 1,
                                              "maritalStatusId": 9,
                                              "mailingLabelName": "Label",
                                              "dateOfBirth": "1990-01-01",
                                              "countryOfBirth": "US",
                                              "countryOfCitizenshipFirstPassport": "US",
                                              "certifiedFATCAComplianceId": "1"
                                          },
                                          "isClientSubjectToFATCAWithholding": false,
                                          "address": {
                                              "isoCountry": "US",
                                              "addressLine1": "qqq ",
                                              "addressLine2": " ABC ",
                                              "addressLine3": " XYZ ",
                                              "city": " Malvern ",
                                              "politicalSubDivision": "Alabama",
                                              "postalCode": " 678 "
                                          },
                                          "phone": {
                                              "phoneMethodId": 1,
                                              "areaCode": "94161",
                                              "localPhoneNumber": "999719"
                                          },
                                          "email": {
                                              "emailAddress": "akky@gmail.com"
                                          },
                                          "taxInformation": {
                                              "identifier": {
                                                  "identifierISOCountry": "US",
                                                  "politicalSubDivision": "Washington",
                                                  "taxIdTypeId": "3",
                                                  "taxIdNumber": "XXX-XX-XXXX"
                                              }
                                          },
                                          "employeeServicingRelationships": [
                                              {
                                                  "servicingRelationshipId": 85052,
                                                  "employeeId": 2823671
                                              },
                                              {
                                                  "servicingRelationshipId": 85053,
                                                  "employeeId": 2823659
                                              },
                                              {
                                                  "servicingRelationshipId": 85054,
                                                  "employeeId": 2823686
                                              },
                                              {
                                                  "servicingRelationshipId": 85055,
                                                  "employeeId": 16501477
                                              }
                                          ]
                                      }
                                  }
                              ]
                          },
                          "type": "string"
                      }
                  }

    ## Sample Responses
    ***
                              {
                                "data": {
                                  "type": "accountEnrollment",
                                  "attributes": {
                                    "processInstanceId": "5250",
                                    "businessKey": "ENR-5250",
                                    "businessProcessInstanceId": "ENR-5250",
                                    "model": {
                                      "processKey": "ENR",
                                      "processInstanceId": "5250",
                                      "statusKey": "InProgress",
                                      "businessKey": "ENR-5250"
                                    }
                                  }
                                }
                              }

tags:
  - name: Initiate Enrollment
    description: Provides API to fully enroll/open an account.
paths:
  /accounts:
    post:
      tags:
        - Initiate Enrollment
      summary:
        This API is for SWP Account Open will be the API to be used by HTS firms
        and the One SEI Platform to open accounts outside the UI on SWP.
      description: This API is for SWP Account Open will be the API to be used by HTS firms and the One SEI Platform to open accounts outside the UI on SWP.
      operationId: initiateEnrollment
      responses:
        '200':
          description:
            returns a processKey,processInstanceId and statusKey if enrollment
            initiated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBpmInitiateEnrollmentResponse'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SWPApiErrorResponse'
          description: |
            Bad Request - The server cannot or will not process the request due to an incorrect request submitted by the client application. Please correct and resubmit the request based on the error code and error message received among below
            ## List of Error Messages
            | Attribute | Mandatory | Data Type | Scenarios | Possible validation messages |
            |----|----|----|----|----|
            |**Account**| | | | |
            |accountTypeId|Yes|Integer|Null Value|Account Type Id is mandatory|
            | | | |Value below 1|Account Type Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Account Type Id value not in the range of 1 and 999999999.|
            | | | | | |
            |accountSubTypeId|Yes|Integer|Null Value|Account Sub Type Id is mandatory|
            | | | |Value below 1|Account Sub Type Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Account Sub Type Id value not in the range of 1 and 999999999.|
            | | | | | |
            |accountClassificationId|Yes|Integer|Null Value|Account Classification Id is mandatory|
            | | | |Value below 1|Account Classification Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Account Classification Id value not in the range of 1 and 999999999.|
            | | | | | |
            |accountSubclassificationId|Yes|Integer|Null Value|Account sub classification Id is mandatory|
            | | | |Value below 1|Account Sub Classification Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Account Sub Classification Id not in the range of 1 and 999999999.|
            | | | | | |
            |firmInvestmentCapacityId|Yes|Integer|Null Value|Firm Investment Capacity Id is mandatory|
            | | | |Value below 1|Firm Investment Capacity Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Firm Investment Capacity Id not in the range of 1 and 999999999.|
            | | | | | |
            |firmCapacityId|No|Integer|Value below 1|Firm Capacity Id value not in the range of 1 and 99.|
            | | | |Value above 99|Firm Capacity Id value not in the range of 1 and 99.|
            | | | | | |
            |typeOfTrustId|No|Integer|Value below 1|Type Of Trust Id value not in the range of 1 and 99.|
            | | | |Value above 99|Type Of Trust Id value not in the range of 1 and 99.|
            | | | | | |
            |accountTemplateId|Yes|Integer|Null Value|Account Template Id is mandatory|
            | | | |Value below 1|Account Template Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Account Template Id not in the range of 1 and 999999999.|
            | | | | | |
            |estateInceptionDate|No|Date|Date not in format "yyyy-MM-dd"|Invalid input parameters|
            | | | |Date greater than current date|Estate Inception Date cannot be greater than current date.|
            | | | | | |
            | trustAgreementDate |No|Date|Date not in format "yyyy-MM-dd"|Invalid input parameters|
            | | | |Date greater than current date|Trust Agreement Date cannot be greater than current date.|
            | | | | | |
            | reinvestmentMethodOfFundsId |No|Integer|Value below 1|Reinvestment Method Of Funds value not in the range of 1 and 99|
            | | | |Value above 999999999|Reinvestment Method Of Funds value not in the range of 1 and 99|
            | | | | | |
            | reinvestmentMethodOfSweepId |No|Integer|Value below 1|Reinvestment Method of Sweeps value not in the range of 1 and 99|
            | | | |Value above 999999999|Reinvestment Method of Sweeps value not in the range of 1 and 99|
            | | | | | |
            | solutionId |No|Integer|Value below 1|Solution Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Solution Id not in the range of 1 and 999999999.|
            | | | | | |
            | accountName |Yes|String|Null Value|Account Name is mandatory|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, _ , -)|Account Name field format is invalid.|
            | | | |Value Less than 1 or Greater than 100 characters|Account Name should be between 1 to 100 characters|
            | | | | | |
            | accountQualifierId |No|Integer|Value below 1| Account Qualifier Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Account Qualifier Id value not in the range of 1 and 999999999.|
            | | | | | |
            | residingOrgId |No|Integer|Value below 1|Residing Org Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Residing Org Id value not in the range of 1 and 999999999.|
            | | | | | |
            | charityId |No|String|Value Greater than 8 characters|Charity Id field length exceeds 8 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9)|Charity Id field format is invalid.|
            | | | | | |
            | pensionId |No|String|Value Greater than 10 characters|Pension field length exceeds 10 characters|
            | | | |Characters not in range of (0-9 for 8 characters then a to z, A to Z for 2 characters)|Pension Id field format is invalid.|
            | | | | | |
            |taxWrapProviderId|No|Integer|Value below 1|Tax Wrap Provider ID value not in the range of 1 and 999999999|
            | | | |Value above 999999999|Tax Wrap Provider ID value not in the range of 1 and 999999999|
            | | | | | |
            |taxWrapExternalAccountNumber|No|String|Characters not in range of (A to Z, a to z, 0 to 9, _ , -)|TaxWrap External Account Number field format is invalid.|
            | | | |Greater than 17 characters|TaxWrap External Account Number field length exceeds 17 characters.|
            | | | | | |
            | accountNumber |Yes|String|Null Value|Account Number is mandatory  --conditional mandatory|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, _ , -)|Account Number field format is invalid.|
            | | | |Value Less than 1 or Greater than 17 characters|Account Number field length should be between 1 to 17 characters|
            | | | | | |
            | accountBaseCurrency |Yes|String|Null/Blank Value|Account base currency is mandatory|
            | | | |Value not equal to 3 characters|Account base currency should be of 3 characters|
            | | | |Characters not in range of (A to Z)|Account base currency field format is invalid|
            | | | | | |
            |**Account Owner**| | | | |
            |PrimaryOwnerExternalId|Conditional|String|Null/Blank Value and Primary Owner Entity id is not provided|Either entity ID or external Party Id should be provided for the primary Owner|
            | | | |Value Less than 1 or Greater than 36 characters|Primary Owner External Id field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace) |Primary Owner External Id field format is invalid.|
            | | | | | |
            |PrimaryOwnerEntityId|Conditional|Integer|Value below 1|Primary Owner Entity Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Primary Owner Entity Id not in the range of 1 and 999999999.|
            | | | | | |
            |**Address**| | | | |
            | isoCountry|Yes|String|Null Value|Iso Country is mandatory|
            | | | |Value not equal to 2 characters|ISO Country should be of 2 characters|
            | | | |Characters not in range of (A to Z)|ISO Country field format is invalid.|
            | | | | | |
            | addressLine1|Yes|String|Null Value|AddressLine1 is mandatory|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace) |Address Line1 field format is invalid|
            | | | |Value Less than 1 or Greater than 52 characters|Address Line 1 should be between 1 to 52 characters|
            | | | | | |
            | addressLine2|No|String|Value Greater than 52 characters|Address Line 2 field length exceeds 52 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Address Line2 field format is invalid."|
            | | | | | |
            | addressLine3 |No|String|Value Greater than 52 characters|Address Line 3 field length exceeds 52 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Address Line3 field format is invalid.|
            | | | | | |
            | addressLine4 |No|String|Value Greater than 52 characters|Address Line 4 field length exceeds 52 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Address Line4 field format is invalid.|
            | | | | | |
            | addressLine5 |No|String|Value Greater than 52 characters|Address Line 5 field length exceeds 52 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Address Line5 field format is invalid.|
            | | | | | |
            | city |Yes|String|Null Value|City is mandatory|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |City field format is invalid.|
            | | | |Value Less than 1 or Greater than 40 characters|City field length should be between 1 to 40 characters|
            | | | | | |
            | politicalSubDivision |No|String|Value Greater than 80 characters|Political Sub Division field length exceeds 80 characters.|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Political Sub Division field format is invalid.|
            | | | | | |
            | postalCode |No|String|Value Greater than 10 characters|Postal Code field length exceeds 10 characters.|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Postal Code field format is invalid.|
            | | | | | |
            |**EmployeeServicingRelationship**| | | | |
            | servicingRelationshipId |Yes|Integer|Null Value|Servicing Relationship Id is mandatory.|
            | | | |Value below 1|Servicing Relationship Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Servicing Relationship Id value not in the range of 1 and 999999999.|
            | | | | | |
            | employeeEntityId |Yes|Integer|Null Value|Employee Entity Id is mandatory.|
            | | | |Value below 1|Employee Entity Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Employee Entity Id value not in the range of 1 and 999999999.|
            |**TeamServicingRelationship**| | | | |
            | servicingRelationshipId |Yes|Integer|Null Value|Servicing Relationship Id is mandatory.|
            | | | |Value below 1|Servicing Relationship Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Servicing Relationship Id value not in the range of 1 and 999999999.|
            | | | | | |
            | teamId |Yes|Integer|Null Value|Team Id is mandatory.|
            | | | |Value below 1|Team Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Team Id value not in the range of 1 and 999999999.|
            | | | | | |
            |**ExistingClient**| | | | |
            | clientExternalPartyId |Conditional|String|Null/Blank Value and entity id under existing third party decedent is not provided|Either entity ID or external Party Id should be provided for the existing client|
            | | | |Value Greater than 36 characters|Client External Party ID should be between 1 to 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Client External PartyId is not in valid format.|
            | | | | | |
            |clientEntityId|Conditional|Integer|Value below 1|Client Entity Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Client Entity Id not in the range of 1 and 999999999.|
            | | | | | |
            | | | | | |
            |**ExistingThirdPartyDecedent**| | | | |
            | externalPartyId |Conditional|String|Null/Blank Value and entity id under existing third party decedent is not provided|Either entity ID or external Party Id should be provided for the existing third party decedent|
            | | | |Value Greater than 36 characters|Existing Third Party Decendent External Party Id field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Existing Third Party Decendent External Party Id field format is invalid.|
            | | | | | |
            |entityId|Conditional|Integer|Value below 1|Existing Third party Decedent Entity Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Existing Third party Decedent Entity Id not in the range of 1 and 999999999.|
            | | | | | |
            |dateDeceased|No|date|Date greater than current date|Existing Third Party Decedent Date of Death cannot be greater than current date|
            | | | | | |
            |**IncomePortfolio**| | | | |
            | cashSweepModelId |No|Integer|Value below 1|Income Portfolio Cash Sweep Model Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Income Portfolio Cash Sweep Model Id value not in the range of 1 and 999999999.|
            | | | | | |
            |**InitiateEnrollmentRequest**| | | | |
            | firmId |Yes|Integer|Null Value|Firm Id is mandatory.|
            | | | |Value below 1|Firm Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Firm Id value not in the range of 1 and 999999999.|
            | | | | | |
            |caseReference|No|String|Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)|Case / Reference Number field format is invalid.|
            | | | |Value Greater than 36 characters|Case / Reference Number field length exceeds 36 characters.|
            | | | | | |
            | | | | | |
            | usedBy |Yes|string|Null/Blank Value|Used By is mandatory.|
            | | | | | |
            |**JointAccountOwner**| | | | |
            |jointOwnershipTypeId(This field is required only when jointOwnerExternalId is present)|Yes*|Integer|Null Value|Joint Ownership Type Id is required when Joint Owner External Id is present|
            | | | |Value below 1|Joint Ownership Type Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Joint Ownership Type Id value not in the range of 1 and 999999999.|
            | | | | | |
            |jointOwnerExternalId |Conditional|String|Null/Blank Value and jointOwnerEntityId is not provided|Either entity ID or external Party Id should be provided for the joint Owner|
            | | | |Value Greater than 36 characters|Joint Owner External id field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Joint Owner External Id field format is invalid|
            | | | | | |
            |jointOwnerEntityId|Conditional|Integer|Value below 1|Joint Owner Entity Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Joint Owner Entity Id not in the range of 1 and 999999999.|
            | | | | | |
            |**NewClient**| | | | |
            |existingThirdParty |Yes|Boolean|Null Value|External Third Party is mandatory|
            | | | | | |
            |externalPartyId|Yes|String|Null/Blank Value|New Client External Party Id is mandatory.|
            | | | |Value Greater than 36 characters|New Client External Party Id field length exceeds 36 characters.|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Client External Party Id field format is invalid.|
            | | | | | |
            |thirdPartyEntityId|Conditional|Integer|Value below 1|Third Party Entity Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Third Party Entity Id not in the range of 1 and 999999999.|
            | | | | | |
            | residingOrgId |No|Integer|Value below 1|Residing Org Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Residing Org Id value not in the range of 1 and 999999999.|
            | | | | | |
            | clientTypeId |Yes|Integer|Null Value|Client Type Id is mandatory|
            | | | |Value below 5|Client Type Id should be either 5 or 6.|
            | | | |Value above 6|Client Type Id should be either 5 or 6.|
            | | | | | |
            | clientTemplateId |Yes|Integer|Null Value|Client Template Id is mandatory|
            | | | |Value below 1|client Template Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|client Template Id value not in the range of 1 and 999999999.|
            | | | | | |
            | legalEntityId |No|String|Value Less than 1 or Greater than 20 characters|Legal entity id field should be of 1 to 20 characters|
            | | | | | |
            |clientRiskRatingId|No|Integer|Value below 1|Client Risk Rating Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Client Risk Rating Id value not in the range of 1 and 999999999.|
            | | | | | |
            |**NewClientEmail**| | | | |
            | emailAddress |Yes|String|Null Value|EmailAddress is mandatory|
            | | | |Value Less than 1 or Greater than 320 characters|Email Address should be between 1 to 320 characters|
            | | | |Not in Email format|Email Address field format is invalid|
            | | | | | |
            |**NewClientIndividualDetails**| | | | |
            |Title|No|Integer|Value not in (MR(1), MRS(2),MS(3),DR(4), THE_HONORABLE(5), GEN(6), CDR(7), COL(8), SG1(9), LTJG(10), PVT(11), PROFESSOR( 12), The_Reverend(13), THE_RIGHT_REVEREND(14), BISHOP(15), RABBI(16), REPRESENTATIVE(17), GOVERNOR(18), JUSTICE(19), Miss( 21), BRIGADIER(22), BRIGADIER_GENERAL(23), CAPTAIN(24), COUNTESS(25), DAME(26), FATHER(27), H_E_Shaikh(28), H_E_Sheikh(29), H_H_Prince(30), H_H_Princess(31), H_R_H_PRINCE(32), H_R_H_PRINCESS(33), HER_HIGHNESS(34), HIS_EXCELLENCY(35), HIS_EXCELLENCY_SHEIKH(36), HIS_HIGHNESS(37), JUDGE(38), LADY(39), LIEUTENANT(40), LORD(41), MADAM(42), MAJOR(43), MAJOR_GENERAL(44), MOTHER(45), PRINCESS(46), RT_HON_THE_LORD(47), SHEIKH(48), SHEIKHA(49), SISTER(50), SIR(51), THE_HONOURABLE(52), THE_LADY(53), THE_RT_HON_THE_LORD(54), VICAR(55), MADAME(56))|Please Provide Valid Title.|
            | | | | | |
            | firstName |Yes|String|Null/Blank Value|FirstName is mandatory|
            | | | |Value Less than 1 or Greater than 36 characters|FirstName field length should be between 1 to 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |FirstName field format is invalid.|
            | | | | | |
            | middleName |No|String|Value Greater than 36 characters|MiddleName field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |MiddleName field format is invalid.|
            | | | | | |
            | lastName |Yes|String|Null/Blank Value|LastName is mandatory|
            | | | |Value Less than 1 or Greater than 100 characters|LastName field length should be between 1 to 100 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |LastName field format is invalid.|
            | | | | | |
            | suffixId |No|Integer|Value not in (JR(1), SR(2), II(3), III(4), IV(5), V(6), ESQ(7), MD(8), DDS(9), DVM(10), PHD(11), VMD(12), RN(13), CPA(14))|Suffix Id is invalid.|
            | | | | | |
            | formalSalutation |No|String|Value Greater than 36 characters|Formal Salutation field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Formal Salutation field format is invalid.|
            | | | | | |
            | | | | | |
            | maritalStatusId |No|Integer|Value not in (MARRIED(1), NEVER_MARRIED(2), SEPERATED(3), PARTNERED(7), DIVORCED(8), WIDOWERED(9), WIDOWED(10))|MaritalStatus Id is invalid.|
            | | | | | |
            | mailingLabelName |No|String|Value Greater than 100 characters|Mailing Label Name field length exceeds 100 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Mailing Label Name field format is invalid.|
            | | | | | |
            |dateOfBirth |Yes|Date|Null Value|DateOfBirth is mandatory|
            | | | |Date not in format "yyyy-MM-dd"|Invalid input parameters|
            | | | |Date value greater than current date|Date Of Birth cannot be greater than current date.|
            | | | | | |
            | countryOfBirth |No|String|Value not equal to 2 characters|Country Of Birth should be of 2 characters|
            | | | |Characters not in range of (A to Z)|Country Of Birth field format is invalid.|
            | | | | | |
            | countryOfCitizenshipFirstPassport |No|String|Value not equal to 2 characters|NewClient Country Of Citizenship FirstPassport should be of 2 characters|
            | | | |Characters not in range of (A to Z)|NewClient Country Of Citizenship FirstPassport field format is invalid.|
            | | | | | |
            | certifiedFATCAComplianceId |No|String|Null Value|Certified FATCA ComplianceId is mandatory|
            | | | |Value not in ( W_9(1), W_8(2), W_8_CURE(3), OHTER_INDIVIDUAL_SELF_CERTIFICATION_PAPER(4)) for individual|Certified FATCA ComplianceId is invalid.|
            | | | | | |
            |**NewClientOrganizationDetails**| | | | |
            | organizationName |Yes|String|Null Value|Organization Name is mandatory|
            | | | |Value Less than 1 or Greater than 100 characters|Organization Name field length should be between 1 to 100 characters.|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Organization Name field format is invalid.|
            | | | | | |
            | organizationTypeId |Yes|Integer|Null Value|Organization Type Id is mandatory..|
            | | | |Value below 1|Min value of Organization Type Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Max value of organization Type Id value not in the range of 1 and 999999999.|
            | | | | | |
            | incorporationCountry |No|String|Null Value|Incorporation Country is mandatory|
            | | | |Value not equal to 2 characters|Incorporation Country should be of 2 characters.|
            | | | |Characters not in range of (A to Z)|Incorporation Country field format is invalid..|
            | | | | | |
            | certifiedFATCAComplianceId |No|Integer|Null Value|Certified FATCA ComplianceId is mandatory|
            | | | |Value not in (W_9(1), W_8(2), W_8_CURE(3), OHTER_INDIVIDUAL_SELF_CERTIFICATION_PAPER(4), OHTER_INDIVIDUAL_SELF_CERTIFICATION_CURED(5), FIRM_HAS_NOT_CERTIFIED(6)) for organization|Certified FATCA ComplianceId is invalid.|
            | | | | | |
            |organizationSubTypeId|No|Integer|Value below 1|Organization SubType Id value not in the range of 1 and 99.|
            | | | |Value above 99|Organization SubType Id value not in the range of 1 and 99.|
            | | | | | |
            |**NewClientPhone**| | | | |
            | phoneMethodId |Yes|Integer|Null Value|Phone Method Id is mandatory|
            | | | |Value not in (TELEPHONE(1), MOBILE(2), FAX(3), PAGER(4))|PhoneMethod is invalid.|
            | | | | | |
            | areaCode |Yes|String|Null Value|AreaCode is mandatory|
            | | | |Value Less than 1 or Greater than 8 characters|Area code should be between 1 to 8 Characters .|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Area code field format is invalid.|
            | | | | | |
            | localPhoneNumber |Yes|String|Null Value|LocalPhoneNumber is mandatory|
            | | | |Value Less than 1 or Greater than 15 characters|Local Phone Number should be between 1 to 15 Characters.|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Local Phone Number field format is invalid.|
            |**NewClientTaxInformationIdentifier**| | | | |
            | identifierISOCountry |Yes|String|Null Value|IdentifierISOCountry is mandatory|
            | | | |Value not equal to 2 characters|New Client Identifier ISO Country should be of 2 characters|
            | | | |Characters not in range of (A to Z)|New Client Identifier ISO Country field format is invalid.|
            | | | | | |
            | politicalSubdivision |No|String|Value Greater than 80 characters|New Client Political Sub Division field length exceeds 80 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Client Political Sub Division field format is invalid.|
            | | | | | |
            | taxIdTypeId |Yes|Integer|Null Value|TaxIdTypeId is mandatory|
            | | | |Value below 1|New Client Tax Id Type Id not in the range of 1 and 999999999.|
            | | | |Value above 999999999|New Client Tax Id Type Id not in the range of 1 and 999999999.|
            | | | | | |
            | taxIdNumber |No|String|Value Greater than 36 characters|New Client Tax Id Number field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Client Tax Id Number field format is invalid.|
            | | | | | |
            |**NewThirdPartyDecedent**| | | | |
            | firstName |Yes|String|Null/Blank Value|New Third Party Decedent FirstName is mandatory|
            | | | |Value Greater than 36 characters|New Third Party Decedent FirstName field length exceeds 36 character|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Third Party Decedent FirstName field format is invalid.|
            | | | | | |
            | lastName |Yes|String|Null/Blank Value|New Third Party Decedent LastName is mandatory|
            | | | |Value Greater than 100 characters|New Third Party Decedent LastName field length exceeds 100 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Third Party Decedent Last Name field format is invalid.|
            | | | | | |
            | externalPartyId (New Third Party)|Yes|String|Null/Blank Value|New Third Party Decedent External Party Id is mandatory|
            | | | |Value Greater than 36 characters|New Third Party Decedent External Party Id field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Third Party Decedent External PartyId  field format is invalid.|
            | | | | | |
            | dateOfBirth |No|Date|Date not in format "yyyy-MM-dd"|Invalid input parameters|
            | | | |Date value greater than current date|New Third Party Decedent Date of Birth cannot be greater than current date.|
            | | | | | |
            | dateDeceased |No|Date|Date not in format "yyyy-MM-dd"|Invalid input parameters|
            | | | |Date value greater than current date|New Third Party Decedent Date of Death cannot be greater than current date.|
            | | | | | |
            |**PrincipalPortfolio**| | | | |
            | portfolioName |Yes|String|Null/Blank Value|Principal Portfolio name is mandatory.|
            | | | |Value Less than 1 or Greater than 100 characters|Principal Portfolio name field length should be between 1 to 100 characters.|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |Principal Portfolio name field format is invalid.|
            | | | | | |
            | cashSweepModelId |No|Integer|Value below 1|Principal Portfolio Cash Sweep Model Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Principal Portfolio Cash Sweep Model Id value not in the range of 1 and 999999999.|
            | | | | | |
            | indexPackageId |No|Integer|Value below 1|Principal Portfolio Index Package Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|Principal Portfolio Index Package Id value not in the range of 1 and 999999999.|
            | | | | | |
            | portfolioPurposeId |No|Integer|Value less than 1|Principal Portfolio Purpose Value not in the range of 1 and 10.|
            | | | |Value greater than 10|Principal Portfolio Purpose Value not in the range of 1 and 10.|
            | | | | | |
            |**TaxIdentifier**| | | | |
            | identifierISOCountry |Yes|String|Null/Blank Value|New Third Party Decedent Tax ISO Country is mandatory|
            | | | |Value not equal to 2 characters|New Third Party Decedent Tax ISO Country field should be of 2 characters|
            | | | |Characters not in range of (A to Z)|New Third Party Decedent Tax ISO Country field format is invalid.|
            | | | | | |
            | politicalSubdivision  |No|String|Value greater than 80 characters|New Third Party Decedent Tax Political Sub Division field length exceeds 80 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Third Party Decedent Tax Political Sub Division field format is invalid.|
            | | | | | |
            | taxIdTypeId |Yes|Integer|Null Value|New Third Party Decedent Tax Id Type Id is mandatory|
            | | | |Value below 1|New Third Party Decedent Tax Id Type Id value not in the range of 1 and 999999999.|
            | | | |Value above 999999999|New Third Party Decedent Tax Id Type Id value not in the range of 1 and 999999999.|
            | | | | | |
            | taxIdNumber  |No|String|Value greater than 36 characters|New Third Party Decedent Tax Id Number field length exceeds 36 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |New Third Party Decedent Tax Id Number field format is invalid .|
            |**Shadow Account**| | | | |
            |externalAccountReference|
            | |Yes|String|Null or empty value|External Account Reference is mandatory|
            | | | |Value less than more than 65.|External Account Reference length exceeds 65 characters|
            | | | |Characters not in range of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace)  |External Account Reference field format is invalid|
            |dataSource|Yes|Integer|Null value|Data source is mandatory|
            | | | |Value less than 2 or more than 3|Datasource value is not in the range of 2 and 3.|
            |aggregationProvider|No|Integer|Value less than 1 or more than 2|Aggregation Provider value is not in the range of 1 and 2.|
            | | | |Value is not available in system_codes table.|Provided Aggregation provider value is invalid|
            | | | |Exception occurred while calling the getSystemCodes() method of EnrollmentValidationHelper class.|System error while fetching the aggregation provider details|
            | | | |Value is null and data source is automatic.|Aggregation provider is mandatory for the Automated - Transactions|
            | | | |Value is not null and data source is manual.|Aggregation Provider field is not applicable for the Manual - Transactions|
            |percentage|No|Integer|Value less than 0 or more than 100.|Percentage value is not in the range of 0 and 100|
            | | | |Value is null and data source is automacatic.|Percentage is mandatory for the Automated - Transactions|
            | | | |Value is not null and data source is manual.|Percentage field is not applicable for the Manual - Transactions|
            |tradingEligible|Yes|Boolean|Firm or PO is not configured for trading|Trading Eligible Flag is not applicable for the Firm|
            | | | |Value is null|Trading Eligibility is mandatory|
            |heldAt|Yes|String|Value is null or blank|Held At is mandatory|
            | | | |User provided value of heldAt is not available in the fetched pasCustodianList.|Provided Held At value is invalid for the corresponding Aggregation provider|
            | | | |Either length exceeds 9 characters and data source is automatic or characters not in range 0 to 9. |Held At field format is invalid or length exceeds 9 characters|
            | | | |Either length exceeds 100 characters and data source is manual or characters not in range  of (A to Z, a to z, 0 to 9, @, &, _ , ', /, (, ), -, comma, dot, whitespace) .|Held At field format is invalid or length exceeds 100 characters|

            ***
            ## List of Validation Messages
            |Scenario  |Validation messages|
            |---|---|
            |Missing organizational details|Please provide Organizationl Details|
            |Missing Individual details|Please provide Individual Details|
            |Missing Account list|Provide valid account list|
            |New client and Existing client both present|please provide either ExistingClient or NewClient|
            |Individual and organizational both details present|Please provide either NewClientIndividualDetails or NewClientOrganizationDetails|
            |New and Existing third party present|please provide either ExistingThirdPartyDecedent or NewThirdPartyDecedent"|
            |Missing/null shadowAccountProperties node if account sub-type is 8 i.e. shadow account|Shadow Account Properties are mandatory|

            ***
            ## List of Warning Messages
            |Scenarios|Warning Message|
            |----|-----|
            |Trading eligible is true but firm or PO is not configured for trading|Trading Eligible Flag is not applicable for the Firm|
            |Data source is automatic and user has provided value for percentage field|Percentage field is not applicable for the Manual - Transactions|
            |Data source is automatic and user has provided value for aggregation provider field|Aggregation Provider field is not applicable for the Manual - Transactions|
            |Shadow account properties are provided by user but account sub type is not 8. |Shadow Account Properties will be ignored for the Account Sub Type provided|


        '401':
          description: "Not Authorized - Invalid authentication details have been provided"
        '404':
          description: "Not found - The requested resource or underlying resource does not exist. Please resubmit the request after making required corrections"
        '500':
          description: "Internal server problem - The server was unable to fullfil the request due to an unknown condition. Please reach out to SEI support."
      parameters:
        - name: AppKey
          in: header
          description: "This is the Consumer Key provided during the App Registration process and is used to identify the user's application."
          example: "weekei39292992-1jddkdk"
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: "access_token value obtained from the Token endpoint.This is passed as \"Bearer access_token\""
          example: "Bearer aidfke-2dkljdfkljlajf-ejljere"
          required: true
          schema:
            type: string
        - name: Content-Type
          in: header
          description: "Request content type. The valid values are application/json"
          example: "application/json"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiateEnrollmentRequest'
        description: |
          Enrollment request which contains information to initiate enrollment.




        required: true

servers:
  - url: https://extranettest.api.seic.com/api/v1/swp/accountservice
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /v3/oauthtoken
          scopes: {}
        password:
          tokenUrl: /api/v1/swp/oauthsecurity/access_token
          scopes: {}
  schemas:
    SWPApiErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/SWPApiError'
    SWPApiError:
      type: object
      properties:
        code:
          type: string
          example: '2196'
        detail:
          type: string
          description: Textual description of the error
          example: 'Account Type Id is mandatory'
        id:
          type: string
          example: '30b35fa0-b2a0-4786-817a-e8f86718fe5c'
        link:
          type: string
          description: Parent node of input where error occurred.
          example: '/accounts'
        meta:
          type: object
        source:
          $ref: '#/components/schemas/SWPApiResponseErrorSource'
        status:
          type: integer
          example: 400
        title:
          type: string
          description: Summary message about the error
          example: 'Bad request'
    SWPApiResponseErrorSource:
      type: object
      description: |
        Object with details about input with error. e.g.
        "source": {
                        "pointer": "accountList[0].accountTypeId"
                    }

      properties:
        pointer:
          type: string
    InitiateEnrollmentRequest:
      type: object
      properties:
        data:
          type: object

          description: Data tag
          properties:
            type:
              type: string
              description: Describe the type of data
            attributes:
              $ref: '#/components/schemas/InitiateEnrollmentRequestPayload'
              description: Describes the attributes of the data. Multiplicity- 1
              required: true

    InitiateEnrollmentRequestPayload:
      type: object
      required:
        - accountList
        - clientList
        - firmId
      properties:
        firmId:
          type: integer
          description: The firm identifier for which the account is to be opened. Multiplicity- 1. Length- 9
          example: 123
        caseReference:
          type: string
          description: A unique reference to track enrollment. When provided the case reference must be unique within the firm. Multiplicity- 1. Length- 36
          example: '12345678'
        usedBy:
          type: string
          description: Free form field indicating the process making the API call.  This value is not persisted. Multiplicity- 1. Length- 10
          example: ASDF
        bypassApproval:
          type: boolean
          description: When set to true, it bypasses the initiated approval workflow in the event that all the required mandatory and optional fields are provided in the request, and the Enrollment is not going for the Manual enrichment step. In the event the Enrollment workflow goes for the Manual enrichment step, even with the "Bypass Approval" flag marked as "True", any subsequent approval after the manual step still occurs.When set to false, it initiates the approval workflow for qualifying requests. Multiplicity- 1.
          example: true
        clientList:
          type: array
          items:
            $ref: '#/components/schemas/Client'
        accountList:
          type: array
          description: Array of the objects representing each account to create.At this time, only 1 account can be specified in the call.Multiplicity- 1.
          items:
            $ref: '#/components/schemas/Account'
    Account:
      type: object
      required:
        - accountName
        - accountClassificationId
        - accountSubClassificationId
        - firmInvestmentCapacityId
        - accountBaseCurrency
        - accountTemplateId
        - accountTypeId
        - accountSubTypeId
        - portfolios
        - accountOwner
      properties:
        accountTypeId:
          description: |
            This determines the behavior of the account. Certain actions on the account may be allowed or disallowed based on type.  Multiplicity- 1. Length- 9
            This is a predefined set of codes
            |Code| Description|
            |---|---|
            |157|Investment Account|
            |172|Stocks and Shares ISA|
            |173|Stocks and Shares Junior ISA|
            |177|Traditional IRA|
            |178|Roth IRA|
            |179|SEP IRA|
            |180|Inherited Traditional IRA|
            |181|Inherited Roth IRA|
            |182|Employee Benefit Plan (403b)|
            |183|SIMPLE IRA|

          type: integer
          example: 157
        accountSubTypeId:
          description: |
            Sub type identifier.  Must be a valid code for accountTypeId.  This is a predefined set of codes. Multiplicity- 1. Length- 9
            ## List of Account subtypes
            | Account subtype code  | Account subtype |
            | ------- | -------- |
            |1| Investment Account |
            |4|  Self-Employed SEP |
            |5|  Employee SEP |
            |6|  Tax Wrapper |
             &nbsp;
            Note- Additional business validations are performed to ensure the Account Sub Type ID is allowed, based on the Account Type ID sent in the request.


          type: integer
          example: 1
        accountClassificationId:
          description: |
            Account classification ids that are supported by the custody or fund account.  These are firm configured specific values.
            Note- part of the firm configuration includes optionally linking a classification to a universal classification (e.g. Pension, Charity, Trust or Estate).  When this occurs, additional required fields must be specified (see below for details).Multiplicity- 1. Length- 9
          type: integer
          example: 1
        accountSubClassificationId:
          description:  |
            Account Sub Classification id.  Must be a valid sub-class for the specified accountClassificationId.  These are firm configured specific values. Multiplicity- 1. Length- 9

          type: integer
          example: 1
        firmInvestmentCapacityId:
          description:  |
            This is the firm’s investment capacity (i.e. authority) over the account and NOT the Bank Capacity from a legal ownership perspective. Multiplicity- 1. Length- 9
            The allowed values are
            3 - Discretionary
            4 – Advisory
            5 – Execution Only

          type: integer
          example: 1
        accountTemplateId:
          description: Account template id of account.  This is firm specific configured value and it must be associated to the specified accountTypeId and accountSubTypeId above.
          type: integer
          example: 12345
        estateInceptionDate:
          description: |
            If the accountClassificationId above is configured to be associated with a Universal Classification of Estate, this field is required to be specified as the inception date or legal reporting date of the Estate.  Otherwise the field is ignored.
          type: string
          example: '2019-03-08'
        trustAgreementDate:
          description: |
            If the accountClassificationId above is configured to be associated with a Universal Classification of Trust, this field is required to be specified as the inception date or legal reporting date of the Trust.  Otherwise the field is ignored.
          type: string
          example: '2019-03-08'
        reinvestmentMethodOfFundsId:
          description:  |
            The default Reinvestment method for dividends from Funds (e.g. open ended mutual funds). Multiplicity- 1. Length- 2
          type: integer
          example: 1
        reinvestmentMethodOfSweepId:
          description:  |
            The default Reinvestment method for dividends from Sweep vehicles. Multiplicity- 1. Length- 2
          type: integer
          example: 1
        solutionId:
          description: |
            Value associated with the firm configured Solution that is representing the account. Multiplicity- 1. Length- 9
          type: integer
          example: 12345
        accountName:
          description: Text string containing the names associated with the account and used for display purposes.
          type: string
          example: AccountName12345
        accountQualifierId:
          description: Account Qualifier Id if configured by the firm related to period fees.
          type: integer
          example: 1
        residingOrgId:
          description: |
            If the account is defined at a firm level, this is the same as the firmId above.  If account is in a sub-firm under the firm, this is the ID of the particular sub-firm. Multiplicity- 1. Length- 9
          type: integer
          example: 12345
        charityId:
          description: |
            If the accountClassificationId above is configured to be associated with a Universal Classification of Charity, this field is the legal Identifier created at type of creation of the Charity by the appropriate regulating body.  Otherwise the field is ignored.Multiplicity- 1. Length- 8
          type: string
          example: ABD
        pensionId:
          description: |
            If the accountClassificationId above is configured to be associated with a Universal Classification of Pension, this field is the Pension Identifier created at type of creation of the Charity by the appropriate regulating body.  Otherwise the field is ignored. Multiplicity- 1. Length- 10
          type: string
          example: 12345678XY
        firmCapacityId:
          description: This is the Bank capacity of the firm legally over the account.  This field is configurable by each firm to be used or not.   If configured, there are Firm capacity id of account.
          type: integer
          example: 37
        typeOfTrustId:
          description: If the accountClassificationId above is configured to be associated with a Universal Classification of Trust, this can be set as the code for classification of trusts by type.
          type: integer
          example: 12
        inheritanceDesignationId:
          description:  |
            This field is only set for Inherited IRA accounts but is required for such.  Allowable values are
              1 (Inherited by spouse)
              2 (Inherited by non-spouse)
              3 (Inherited by Entity - Look-Through Trust)
              4 (Inherited by Entity – Other)
              The first 2 values only apply if the Decedent is an Individual.  The latter 2 values apply only if the Decedent is an Organization.
              For more details, see the SWP service guide for qualified accounts.

          type: integer
          example: 12
        accountNumber:
          description: The External identifying unique value associated with the account.  This value is alphanumeric and must be unique within the firm. Multiplicity- 1. Length- 17
          type: string
          example: AccountNum12345
        taxWrapProviderId:
          description: Conditionally required when Account SubType is TaxWrapper.
            TaxWrapProviderId depends on the Account SubType Tax Wrapper, Firm ID and Role ID. Multiplicity- 1. Length- 9
          type: integer
          example: 12
        taxWrapExternalAccountNumber:
          description:  |
            Conditionally required when Account SubType is TaxWrapper.
            The tax wrap provider external account number. Multiplicity- 1. Length- 17
          type: string
          example: TaxWrap56789
        accountBaseCurrency:
          description:
            The ISO currency code of the currency for which all valuations are based on the account. Multiplicity- 1. Length- 3
          type: string
          example: USD
        grandfathered403BFlg:
          description: |
            If the Account is a US Employee Benefit Plan (403b), then this flag must be set regarding whether the values are grandfathered in from previous US tax law or not.
             For more details, see the SWP service guide for qualified accounts. Multiplicity- 1.

          type: boolean
          example: false
        investmentPerformanceFlg:
          description:  |
            If performance returns are to be calculated and maintained for this account, set this to true. Multiplicity- 1.
          type: boolean
          example: false
        employeeInfoSharingFlg:
          description:   |
            If the Account is a US Employee Benefit Plan (403b), then this flag must be set regarding whether employee info sharing should be set for this account or not.  Otherwise this field is ignored. For more details, see the SWP service guide for qualified accounts.
          type: boolean
          example: false
        employeeServicingRelationshipList:
          description: The list of Employee DSRs that should be set on the account.   Any mandatory DSR configured for the firm must be specified with the call in order to open the account.
          multiplicity: 0:N
          $ref: '#/components/schemas/EmployeeServicingRelationship'
        teamServicingRelationshipList:
          description: The list of Team DSRs that should be set on the account.   Any mandatory DSR configured for the firm must be specified with the call in order to open the account.
          multiplicity: 0:N
          $ref: '#/components/schemas/TeamServicingRelationship'
        accountOwner:
          $ref: '#/components/schemas/AccountOwner'
        portfolios:
          $ref: '#/components/schemas/Portfolios'
        thirdPartyDecedent:
          $ref: '#/components/schemas/ThirdPartyDecedent'
        thirdPartyRegisteredContact:
          $ref: '#/components/schemas/ThirdPartyRegisteredContact'
        shadowAccountProperties:
          $ref: '#/components/schemas/ShadowAccountProperties'
    EmployeeServicingRelationship:
      type: array
      items:
        type: object
        required:
          - servicingRelationshipId
          - employeeEntityId
        properties:
          servicingRelationshipId:
            description:
              The firm configured Id related to the particular DSR type (e.g. Relationship Manager). Multiplicity- 1 Length-9
            type: integer
            example: 1
          employeeEntityId:
            description:
              The SWP partyId associated with the employee party to be set. Multiplicity- 1 Length-9
            type: integer
            example: 1
    TeamServicingRelationship:
      type: array
      items:
        type: object
        required:
          - servicingRelationshipId
          - teamId
        properties:
          servicingRelationshipId:
            description:
              A number corresponding to the Team Servicing Relationship Id for
              the Account. Multiplicity- 1 Length-9
            type: integer
            example: 1
          teamId:
            description:
              The firm configured ID for the team. Multiplicity- 1 Length-9
            type: integer
            example: 1
    AccountOwner:
      type: object
      description: It identifies ownership of account.  There must be at least 1 owner specified (Primary Owner).  An array of 0 to many Joint owners can also be specified if applicable.Multiplicity- 1 Length-1
      properties:
        primaryOwnerExternalId:
          description:
            This is the identifier of the primary owner.  This must match the attribute clientExternalPartyId in clientList array below for one of the end clients specified. Multiplicity- 36 Length-9
          type: string
          example: '12345'
        primaryOwnerEntityId:
          description:
            A number corresponding to the Primary Owner Entity Id as Account
            Owner for the Account
          type: integer
          example: 7845112
        jointAccountOwner:
          multiplicity: 0:N
          $ref: '#/components/schemas/JointAccountOwner'
    JointAccountOwner:
      type: object
      required:
        - jointOwners
        - jointOwnershipTypeId
      properties:
        jointOwners:
          type: array
          items:
            type: object
            properties:
              jointOwnerEntityId:
                description:  |
                  It identifies joint owner external Id.  This must match the attribute clientExternalPartyId in clientList array below for one of the end clients specified.
                  multiplicity: 0:N
                type: integer
                example: 7458444
              jointOwnerExternalId:
                description:
                  A number corresponding to the Joint Owner external party Id as
                  Joint Owner for the Account .
                type: string
                example: '12346'
        jointOwnershipTypeId:
          description: Joint Ownership Type Id is required when Joint Owner node exists. It identifies type of joint owner
          type: integer
          example: 123
    Portfolios:
      type: array
      description: This is the location where the actual trading occurs and positions are held within an account. Multiplicity- 1 Length-1
      items:
        type: object
        required:
          - principalPortfolio
        properties:
          principalPortfolio:
            type: object
            required:
              - portfolioName
            properties:
              portfolioName:
                description: A number corresponding to the Portfolio Name of the Account. Multiplicity- 1 Length-77
                type: string
                example: PortfolioName123
              cashSweepModelId:
                description:
                  A number corresponding to the Cash Sweep Name for the
                  Portfolio. Multiplicity- 1 Length-9
                type: integer
                example: 123
              indexPackageId:
                description:
                  Internal value that uniquely identifies an index package row. Multiplicity- 1 Length-9
                type: integer
                example: 123
              portfolioPurposeId:
                description: |
                  PortfolioPurposeId is Firm Configured. If the portfolio has a specific purpose/type, it is defined in the system code 36540.
                  |Purpose Id| Description|
                  |---|---|
                  |1|  Client Directed |
                  |2|  Advisor Guided |
                  |3|  Asset Transit |
                  |4|  Holding Money Market|
                  |5|  SEI Strategy |
                  |6|  Asset Transit Tax Transition |
                  |7|  Managed Account | |
                  |8|  Unit Cost Averaging
                  |9|  Non Strategy |
                  |10|  SEI Funds |
                  Multiplicity- 1 Length-2
                type: integer
                example: 1
          incomePortfolio:
            properties:
              cashSweepModelId:
                description: A number corresponding to the Cash Sweep Name of the Account
                type: integer
                example: 123
    ThirdPartyDecedent:
      type: object
      description: |
        When opening an Inherited IRA, the Decedent of that IRA must be specified in this object.   Otherwise, this object should not be included.  Similar to the ClientList this      can be a new party or  reference to an existing party. Multiplicity- 0:N
      properties:
        existingThirdPartyDecedent:
          $ref: '#/components/schemas/ExistingThirdPartyDecedent'
        newThirdPartyDecedent:
          $ref: '#/components/schemas/NewThirdPartyDecedent'
    ExistingThirdPartyDecedent:
      type: object
      description: If the decedent of the Inherited IRA is an existing party in the system, this object contains the entityId or externalPartyId of that party.
      properties:
        externalPartyId:
          description:
            The external Party Id of the existing party that is the decedent.  Either this or entityId below must be specified within the existingThirdPartyDecedent object. Multiplicity- 1 Length-36
          type: string
          example: EXT123
        entityId:
          description: The internal id of the existing party that is the decedent.  Either this or externalPartyId above must be specified within the existingThirdPartyDecedent object. Multiplicity- 1 Length-9
          type: integer
          example: 7845112
        dateDeceased:
          description:
            Date Of death for the decent.  This attribute is within the existingThirdPartyDecedent object. Input is required when the Deceased date for the Party doesn’t exist in the System.
          type: string
          example: '2019-03-08'
    NewThirdPartyDecedent:
      type: object
      description: If the decedent of the Inherited IRA is a new party that should be created as part of enrollment, this object contains the attributes for that party.
      required:
        - firstName
        - lastName
        - externalPartyId
      properties:
        firstName:
          description:
            A alphanumeric corresponding to the First Name for Third Party
            Decedent. Multiplicity- 1 Length-36
          type: string
          example: First Name
        lastName:
          description:
            A alphanumeric corresponding to the Last Name for Third Party. Multiplicity- 1 Length-62
            Decedent
          type: string
          example: Last Name
        externalPartyId:
          description:
            A number corresponding to the External Party ID for Third Partyz. Multiplicity- 1 Length-36
            Decedent
          type: string
          example: EXT123
        dateOfBirth:
          description:
            Date of birth (date of Birth cannot be greater than date of death). Must be specified for New Third Party Decedent.
          type: string
          example: '2019-03-08'
        dateDeceased:
          description:
            Date of death. Must be specified for New Third Party Decedent
          type: string
          example: '2019-03-08'
        taxIdentifier:
          $ref: '#/components/schemas/TaxIdentifier'
        address:
          $ref: '#/components/schemas/Address'
    TaxIdentifier:
      type: object
      required:
        - identifierISOCountry
        - taxIdTypeId
      properties:
        identifierISOCountry:
          description: The ISO country code of the country associated to the tax identifier of the decedent.
          type: string
          example: US
        politicalSubDivision:
          description:
            A alphanumeric corresponding to the Political Subdivision for Tax
            Identifier
          type: string
          example: politicalSubDivision123
        taxIdTypeId:
          description: |
            Integer code representing the type of tax identifier. The type of Tax identification number:
            | taxIdTypeId | Description |
            |---| --- |
            |  1|  Employer Identification Number|
            |  2|  Preparer Taxpayer Identification Number |
            |  3|  Social Security Number|
            |  4|  Individual Taxpayer Identification Number|
            |  5|  Alien Taxpayer Identification Number/ITIN|
            |  6|  Tax Reference Number|
            |  7|  National Insurance Number|
            |  8|  Social Insurance|
            |  10|  Personal Number|
            |  11|  Tax Number|
            |  31|  Other|
            |  33|  Applied For|
            |  34|  Unknown|
            |  35|  Unknown NINO|
            |  36|  No Tax ID on File|
            |  37|  Pension ID|
            |  38|  NRA Foreign Tax Identification Number|
            |  39|  MIFID - Passport|
            |  40|  MIFID - National ID|
            |  41|  MIFID - CONCAT|
            |  44|  Alternate ID|
            |  45|  Secondary Social Security Number|

              Note  Additional business validations are performed to ensure the Tax ID Type provided is allowed for the associated identifierISOCountry.  Also, not all firms are configured to use all possible Tax ID Types.

          type: integer
          example: 123
        taxIDNumber:
          description: The actual tax identification number.
          type: string
          example: '1234'
    Address:
      type: object
      required:
        - isoCountry
        - addressLine1
        - city
      properties:
        isoCountry:
          description: The ISO country code of the country associated to the address of the decedent. Multiplicity- 1 Length-2
          type: string
          example: US
        addressLine1:
          description: Address Line 1. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
          type: string
          example: addressLine1
        addressLine2:
          description: Address Line 2. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
          type: string
          example: addressLine2
        addressLine3:
          description: Address Line 3. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
          type: string
          example: addressLine3
        addressLine4:
          description: Address Line 4.  Only used for non-US addresses. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
          type: string
          example: addressLine4
        addressLine5:
          description: Address Line 5. Only used for non-US addresses. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
          type: string
          example: addressLine5
        city:
          description: City. (US Firm Country allows 20 Characters and UK Firm Country allows 40 Characters). Multiplicity- 1 Length-40
          type: string
          example: city
        politicalSubDivision:
          description:
            Political sub division. When applicable, this must be the full name of the state or province (e.g. Pennsylvania…not PA).Multiplicity- 1 Length-80
          type: string
          example: politicalSubDivision
        postalCode:
          description: Zip code or other postal code associated with the decedents address. Multiplicity- 1 Length-10
          type: string
          example: postalCode
        placeInFront:
          description: Affects how the postal code is displayed with the address.  Normally for US addresses, this is false.    Will default to false if not specified.
          type: boolean
          example: false
    ThirdPartyRegisteredContact:
      type: object
      description: When opening a Stocks and Shares Junior ISA, the Registered Contact of that JISA must be specified in this object.   Otherwise, this object should not be included.  Similar to the ClientList this can be a new party or a reference to an existing party. Multiplicity- 0:N
      properties:
        existingThirdPartyRegisteredContact:
          $ref: '#/components/schemas/ExistingThirdPartyRegisteredContact'
        newThirdPartyRegisteredContact:
          $ref: '#/components/schemas/NewThirdPartyRegisteredContact'
    ExistingThirdPartyRegisteredContact:
      type: object
      description: If the Registered Contact of the JISA is an existing party in the system, this object contains the entityId or externalPartyId of that party. Multiplicity-0:N
      properties:
        externalPartyId:
          description:
            The external Party Id of the existing party that is the Registered Contact.  Either this or entityId below must be specified within the existingThirdPartyRegisteredContact object. Multiplicity- 1 Length-36
          type: string
          example: EXT123
        entityId:
          description:
            The internal id of the existing party that is the Registered Contact.  Either this or externalPartyId above must be specified within the existingThirdPartyRegisteredContact object. Multiplicity- 1 Length-9
          type: integer
          example: 7845112
    NewThirdPartyRegisteredContact:
      type: object
      description: If the Registered Contact of the JISA is a new party that should be created as part of enrollment, this object contains the attributes for that party. Multiplicity-0:N
      required:
        - externalPartyId
        - thirdPartyType
      properties:
        OrganizationName:
          description:
            A alphanumeric corresponding to the Organization name for Third
            Party Registered Contact. Multiplicity- 1 Length-100
          type: string
          example: Organization Name
        firstName:
          description:
            A alphanumeric corresponding to the First Name for Third Party
            Registered Contact. Multiplicity- 1 Length-36
          type: string
          example: First Name
        lastName:
          description:
            A alphanumeric corresponding to the Last Name for Third Party
            Registered Contact. Multiplicity- 1 Length-62
          type: string
          example: Last Name
        externalPartyId:
          description: The external Party Id of the New Registered Contact must be specified.Multiplicity- 1 Length-36
          type: string
          example: EXT123
        thirdPartyType:
          description:
            A alphanumeric corresponding to the ThirdPartyType for Third Party
            Registered Contact
          type: integer
          example: 1234
        dateOfBirth:
          description:
            Date of Birth of Individual Third Party Registered Contact.
          type: string
          example: '2019-03-08'
        taxIdentifier:
          $ref: '#/components/schemas/TaxIdentifier'
        address:
          $ref: '#/components/schemas/Address'
    Client:
      type: object
      required:
        - clientTypeId
      properties:
        existingClient:
          type: object
          properties:
            clientExternalPartyId:
              type: string
              description: ''
              example: '3424'
            clientEntityId:
              type: integer
              description: Entity Id of the existing client
              example: 87955454
        newClient:
          type: object
          required:
            - existingThirdParty
            - clientTemplateId
            - externalPartyId
            - clientTypeId
          properties:
            existingThirdParty:
              type: boolean
              description: Existing third party is true when converting existing third party to client otherwise false
              example: true
            externalPartyId:
              type: string
              description: External party id of new client
              example: '12133'
            thirdPartyEntityId:
              type: integer
              description: Entity Id for the existing third party
              example: 5475112
            residingOrgId:
              type: integer
              description: If the client is defined at a firm level, this is the same as the firmId above.   If client is in a sub-firm under the firm, this is the ID of the particular sub-firm
              example: 23213
            clientTypeId:
              type: integer
              description: It decides type of client it can either be 5 means individual client or 6 means Organizational client
              example: 1234
            clientTemplateId:
              type: integer
              description: The identifier of the End Client Enrollment Template that should be used in creation of this new client
              example: 1234
            legalEntityId:
              type: string
              description: This LEI (Legal Entity Identifier) will be an Mandatory attribute to Organization Type end clients and optional for existing third party and for Individuals it will always be NULL
              example: '2331'
            individualDetails:
              type: object
              description : Conditionally Required Field. If the new end client is of type Individual this Object (e.g. clientTypeId = 5) and existingThirdParty is false, this must be included.
              required:
                - firstName
                - lastName
                - dateOfBirth
                - certifiedFATCAComplianceId
              properties:
                titleId:
                  type: integer
                  description: It is classification for title of an individual client. This includesits  Mr., Mrs., Ms., Dr., The Honorable, GEN, CDR, COL, 1SG, among others. It is defined in system code 451
                  example: 1
                firstName:
                  type: string
                  description: Conditional Mandatory (For new client it is mandatory but when converting existing third Party to new client it is optional). First name of individual client
                    Note-  Combined First Name, Middle Name, Last Name and Suffix values (including spaces and punctuation) cannot exceed 100 characters
                  example: Ricky
                middleName:
                  type: string
                  description: Middle name of individual client
                    Note-  Combined First Name, Middle Name, Last Name and Suffix values (including spaces and punctuation) cannot exceed 100 characters
                  example: kumar
                lastName:
                  type: string
                  description: Conditional Mandatory (For new client it is mandatory but when converting existing third Party to new client it is optional). Last name of individual client
                    Note-  Combined First Name, Middle Name, Last Name and Suffix values (including spaces and punctuation) cannot exceed 100 characters
                  example: Goel
                suffixId:
                  type: integer
                  description: It is classification of suffix of an individual client. This includes- Jr., Sr., II, III, IV, V, Esq, MD, DDS, among others. The domain is defined in system code 5044.  Multiplicity-1 Length-2
                  example: 1
                formalSalutation:
                  type: string
                  description: Formal salutation of an individual client. Multiplicity-1 Length-36
                  example: Rick
                genderId:
                  type: integer
                  description: ''
                  example: 1
                maritalStatusId:
                  type: integer
                  description: |
                    If desired, the marital status of the individual.  This is not required to open the account.
                    |MaritalStatusId | Description|
                    |---|---|
                    |1|Married|
                    |2|Never Married|
                    |3|Separated|
                    |7|Partnered|
                    |8|Divorced|
                    |9|Widowered|
                    |10|Widowed|
                     Multiplicity-1 Length-1

                  example: 1
                mailingLabelName:
                  type: string
                  description:
                    Mailing Label Name of an individual client.  Multiplicity-1 Length-100
                  example: fdsf
                dateOfBirth:
                  type: string
                  description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). Date of birth of the individual client
                  example: '1994-03-08'
                countryOfBirth:
                  type: string
                  description: The 2-character country code based in the ISO 3166 standard. This code uniquely identifies the country where the Individual client was born.  Multiplicity-1 Length-2
                  example: UK
                countryOfCitizenshipFirstPassport:
                  type: string
                  description: ISO country code of country where individual was went.
                  example: US
                certifiedFATCAComplianceId:
                  type: integer
                  description:
                    Designation of organization within the Foreign Account Tax Compliance Act (FATCA).
                  example: 2
            organizationDetails:
              type: object
              description: Conditional Mandatory Field. If the new end client is of type Organization this Object (e.g. clientTypeId = 6) and existingThirdParty is false, this must be included.
              required:
                - organizationName
                - organizationTypeId
                - certifiedFATCAComplianceId
              properties:
                organizationName:
                  type: string
                  description: The legal name of the organization.Required for new party.Conditional Mandatory Field.  Multiplicity-1 Length-100
                  example: SEI
                organizationTypeId:
                  type: integer
                  description:  |
                    The classification of the organization
                    |organizationTypeId|Description|
                    |---|---|
                    |1|CashIntensive|
                    |2|Charity|
                    |3|Collectives|
                    |4|Corporations|
                    |5|Estate|
                    |6|FinancialInstitution|
                    |7|Pension|
                    |8|ProfessionalServices|
                    |9|Other|
                    |10|CharitableRemainderTrust|
                    |11|LimitedLiabilityCompany|
                    |12|Partnership|
                    |13|PublicEntity|
                    |14|Trust|
                    |15|EndowmentOrFoundation|
                     Multiplicity-1 Length-9

                  example: 68990
                incorporationCountry:
                  type: string
                  description: The ISO country code of the country where the organization was incorporated/chartered.  Multiplicity-1 Length-2
                  example: UK
                certifiedFATCAComplianceId:
                  type: integer
                  description:
                    Designation of organization within the Foreign Account Tax Compliance Act (FATCA).
                  example: 1
                organizationSubTypeId:
                  type: integer
                  description:
                    The Orgnization subtype value associated for this
                    organization.  Multiplicity-1 Length-2
                  example: 12
            clientRiskRatingId:
              type: integer
              description:
                The ID associated with the measure of the acceptable risk (risk tolerance or attitude toward risk) for a specific client.   This field is optionally used and may not be applicate for a particular firm.  Multiplicity-1 Length-9
              example: 1
            isClientSubjectToFATCAWithholding:
              type: boolean
              description: This column identifies whether the client has been certified with the Foreign Account Tax Compliance Act (FATCA), or not.
              example: false
            address:
              type: object
              description: Conditional Mandatory. The legal address for the client.  This is required for a fully new client but when converting a 3rd party, it will only be required if the 3rd party does not already have a primary address.  Further, for 3rd parties, if this is specified but the 3rd party already has an address, the values here in the API will be ignored.
              required:
                - isoCountry
                - addressLine1
                - city
              properties:
                isoCountry:
                  type: string
                  description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). This code uniquely identifies a country.
                  example: UK
                addressLine1:
                  type: string
                  description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). Address Line 1 of the New Client (Some contains the complete address including city , state, country, zip) (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
                  example: C-8 F-1
                addressLine2:
                  type: string
                  description: Address Line 2 (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
                  example: first floor
                addressLine3:
                  type: string
                  description: Address Line 3 (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
                  example: Helton street
                addressLine4:
                  type: string
                  description: Address Line 4. Only used for non-US addresses. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
                  example: addressLine4
                addressLine5:
                  type: string
                  description: Address Line 5. Only used for non-US addresses. (US Firm Country allows 36 Characters and UK Firm Country allows 52 Characters). Multiplicity- 1 Length-52
                  example: addressLine5
                city:
                  type: string
                  description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). City (US Firm Country allows 20 Characters and UK Firm Country allows 40 Characters). Multiplicity- 1 Length-40
                  example: London
                politicalSubDivision:
                  type: string
                  description:
                    Political sub division. When applicable, this must be the full name of the state or province (e.g. Pennsylvania…not PA). Multiplicity- 1 Length-80
                  example: '3'
                postalCode:
                  type: string
                  description: postalCode / Zip code. Multiplicity- 1 Length-10
                  example: '20130'
                placeInFront:
                  type: boolean
                  description:
                    Place in front flag is not applicable if the country of legal address is United States
                  example: true
            phone:
              type: object
              required:
                - phoneMethodId
                - areaCode
                - localPhoneNumber
              properties:
                phoneMethodId:
                  type: integer
                  description: |
                    Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). It is the classification of the endpoint of a phone number.
                    1  Telephone
                    2  Mobile
                    3  Fax
                    4  Pager

                  example: 1
                areaCode:
                  type: string
                  description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). Area Code of Phone number eg for 610-676-2487, the Area Code is 610.
                  example: '1234'
                localPhoneNumber:
                  type: string
                  description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). It is client phone number.
                  example: '234567'
            email:
              type: object
              description: The client's email address
              required:
                - emailAddress
              properties:
                emailAddress:
                  type: string
                  description: Email address of the client.
                    Note-  If specified, this is always defaulted as primary and also the type and description have default values in the system
                  example: abc@seic.com
            taxInformation:
              type: object
              description: Conditional Mandatory Field. The tax identification information for the new client.  This is required for a fully new client but when converting a 3rd party, it will only be required if the 3rd party   does not already have a primary address.  Further, for 3rd parties, if this is specified but the 3rd party already has an address, the values here in the API will be ignored.
              properties:
                identifier:
                  type: object
                  required:
                    - identifierISOCountry
                    - taxIdTypeId
                  properties:
                    identifierISOCountry:
                      type: string
                      description: Conditional Mandatory(For new client it is mandatory but when converting existing third Party to new client it is optional). This uniquely identifies a country
                      example: US
                    politicalSubDivision:
                      type: string
                      description: When applicable, this must be the full name of the state or province (e.g. Pennsylvania…not PA).
                        This will be required based on the country specified.  For example, it is required for United States based addresses.
                      example: '1234'
                    taxIdTypeId:
                      type: integer
                      description: |
                        Conditionally Mandatory for the New Clients. The type of Tax identification number
                        |taxIdTypeId|description|
                        |---|------|
                        |1|Employer Identification Number|
                        |2|Preparer Taxpayer Identification Number3|Social Security Number|
                        |4|Individual Taxpayer Identification Number|
                        |5|Alien Taxpayer Identification Number/ITIN|
                        |6|Tax Reference Number|
                        |7|National Insurance Number|
                        |8|Social Insurance|
                        |10|Personal Number|
                        |11|Tax Number|
                        |31|Other|
                        |33|Applied For|
                        |34|Unknown|
                        |35|Unknown NINO|
                        |36|No Tax ID on File|
                        |37|Pension ID|
                        |38|NRA Foreign Tax Identification Number|
                        |39|MIFID - Passport|
                        |40|MIFID - National ID|
                        |41|MIFID - CONCAT|
                        |44|Alternate ID|
                        |45|Secondary Social Security Number|
                        Note- Additional business validations are performed to ensure the Tax ID Type provided is allowed for the associated identifierISOCountry.  Also, not all firms are configured to use all possible Tax ID Types.

                      example: 2
                    taxIdNumber:
                      type: string
                      description: ''
                      example: '1434'
            teamServicingRelationshipList:
              description: The list of Team DSRs that should be set on the end client (account owner).   Any mandatory DSR configured for the firm must be specified with the call in order to open the account.
              $ref: '#/components/schemas/TeamServicingRelationship'
            employeeServicingRelationshipList:
              description: The list of Employee DSRs that should be set on the end client (account owner).   Any mandatory DSR configured for the firm must be specified with the call in order to open the account. Mulitplicity-0:N
              $ref: '#/components/schemas/EmployeeServicingRelationship'
    ShadowAccountProperties:
      type: object
      properties:
        externalAccountReference:
          type: string
          description: The external account reference is mandatory value if account subtype is 8. Maximum allowed characters is 65.
          example: 'abc'
        dataSource:
          type: string
          description: Data source is required to identify the type of transaction. Integer 2
          example: '3'
        aggregationProvider:
          type: string
          description: The aggregation provider provided by the user should be available in the SYSTEM_CODES table. Currently, the allowed values are 2 and 3.
          example: '2'
        percentage:
          type: integer
          description: The percentage of capital portfolio related to the shadow account. Minimum 0 and maximum 100 is allowed.
          example: 10
        tradingEligible:
          type: boolean
          description: The Boolean tradingEligible is denotes whether the shadow account is eligible for trading or not.
          example: true
        heldAt:
          type: string
          description: This is a mandatory field for account subtype 8. For automated transactions (data source = 2), the maximum permissible length is 9 and for manual transactions (data source = 3), the maximum permissible length is 100.
          example: '999'

    ApiBpmInitiateEnrollmentResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            attributes:
              $ref: '#/components/schemas/InitiateEnrollmentResponse'
            type:
              type: string
              description: response data type
              example: accountEnrollment
            processInstanceId:
              type: string
              description: Integer value associated with the business process instance. This field can be ignored; use businessProcessInstanceId below.
              example: 123456
            businessKey:
              type: string
              description: Internal key, will usually be the same as businessProcessInstanceId.This field can be ignored; use businessProcessInstanceId below.
              example: ENR-123456
            businessProcessInstanceId:
              type: string
              description: The unique identifier used to identify. Always use this attribute for further Tracking of the business process.
              example: ENR-123456
    InitiateEnrollmentResponse:
      type: object
      properties:
        processKey:
          type: string
          example: AccountEnrollment
        processInstanceId:
          type: integer
          example: 123456
        statusKey:
          type: string
          example: InProcess
        businessKey:
          type: string
          example: ENR-123456