menu

Client & Account Onboarding

GS Advisor Solutions APIs enable Clients to digitally onboard new members and accounts onto the our custody using our Service Center APIs.

The Service Center APIs, allows advisors to integrate the onboarding workflow to setup new users and accounts, create bank links and money transfers, and transfer in assets from external accounts through a single API end point.

This feature allows advisors to manage various onboarding workflows as service tasks giving them the flexibility to ‘save and continue’ any task. Advisors can use the service tasks as a central place to gather information as they work through the onboarding process with their advisees.

This guide will take you through the creation of new members and brokerage accounts using our public facing APIs.

Step 1 - LoginID Availability

In order to create a new account, you must create a new member (or use an existing one). Before creating a new member, you must check to see if the login ID you would like to use for the new member is avaialble.

This API call returns a boolean, indicating if the login ID you specified in the URI is available.

BooleanDescription
TrueThe specified loginId is available for use.
FalseThe specified loginid is currently in use and not available.

GET /v1/utils/loginidavailable/santiago31745 returns:

HTTP/1.1 200 OK
Date: XXX
Content-Type: application/json
Content-Language: en

true

Step 2 - Create Member

A single member may own multiple accounts (e.g. individual, IRA, joint, custodial, etc.). Similarly, a member may be included on the accounts of another member, as is the case of a member being a joint owner on a joint account, or an authorized user permissioned onto another person's account.

Client Email Address

You must provide the member's email address.

  • Email addresses created or provided by the advisory firm are not permitted. We cannot accept any client email address or phone number with the same domain name or phone number that is associated with your advisory firm, unless that account is owned by your firm.
  • Upon member creation, GSAS generally sends an email to the new user with a special password token link to set their password for our client site. Introducing broker dealer firms that are using this API to support their own site with their own user authentication processes can instruct us to not send this email during the initial API setup configuration for the firm.

Client Profile Information

Please maintain a process to ensure that all client profile information, including but not limited to physical mailing address(es), email address, phone number(s), and other personal data, is accurate and up-to-date in GSAS systems, especially when changes are received by your firm.

  • To make any changes to client profile information, please use the Update Member. Member information provided to us must match what is stored locally at your firm.
  • We process customer validations for our Customer Identification Program (CIP) (e.g. Social Security Number (SSN) or Tax Identification Number (TIN), Know Your Customer (KYC), Anti-Money Laundering (AML), Office of Foreign Asset Control (OFAC), etc.) in real-time when we receive the Create a Member call. If a prospective member fails, this validation you will receive an error message.

To create a member, POST /v1/members with this payload:

{
  "loginId": "santiago31745",
  "firstName": "Santiago",
  "lastName": "Smith",
  "dateOfBirth": "1994-01-01T00:00:00.000-05:00",
  "email1": "client@foliofn.com",
  "countryOfCitizenship1": "US",
  "countryOfCitizenship2": "IN",
  "primaryAddress": {
    "line1": "7132 Luke Underpass",
    "city": "Port Mollie",
    "state": "MN",
    "zipcode": "56038",
    "country": "US"
  },
  "eveningTelephone": "17707731745",
  "dayTelephone": "17707731745",
  "employmentStatus": "FULL_TIME_EMPLOYED",
  "finraAffiliated": true,
  "finraCompany": "ABC",
  "directorOrTenPercentShareholder": false,
  "directorOrTenPercentShareholderCompany": null,
  "accreditedInvestorNetWorth": true,
  "accreditedInvestorAnnualIncome": true,
  "previousPrivatePlacementExperience": false,
  "previousExperienceSector": null,
  "annualIncome": 6,
  "netWorth": 7,
  "liquidNetWorth": 7,
  "tid": "636852824",
  "citizenship": "C",
  "residenceCountry": "US",
  "politicallyExposed": "Y",
  "expectedActivity": {
    "chequeTransferPerMonth": 3,
    "domesticWireTransferPerMonth": 4,
    "internationalWireTransfersPerMonth": 0,
    "productsToInvest": ["LOW_PRICE_SEC"]
  },
  "sourceOfWealth": {
    "assets": [
      {
        "lineOfBusiness": "AEROSPACE",
        "proceedsFromSaleOfBusiness": false,
        "typeOfAsset": "BUSINESS"
      }
    ],
    "entrepreneurs": [
      {
        "lineOfBusiness": "AEROSPACE",
        "nameOfCompany": "Ed Touch"
      }
    ],
    "personalInvestments": [
      {
        "lineOfBusiness": "CRYPTOCURRENCY",
        "typeOfInvestment": "CRYPTOCURRENCIES_OR_INITIAL_COIN_OFFERINGS"
      }
    ],
    "employments": [
      {
        "annualIncome": 0,
        "employerCountry": "US",
        "employerName": "Goldman Sachs",
        "lineOfBusiness": "FINANCE"
      }
    ],
    "additionalSources": ["PARENTAL_SUPPORT"]
  }
}
info

Note

Customer Identification Program (CIP) collection:

  1. Required items (source of wealth, expected activity, etc.) must be provided in the initial call.
  2. Optional items (number of dependents, marital status, tax bracket, etc.) can be included or set/updated later in the Update a Member API.

For Entity Accounts

For entity accounts, the member will serve as the Firm rep / Authorized Representative who will have access to the account. There can be only one Firm Rep / Authorized Representative for each entity account. This member can only be used for this purpose and only once for a single entity account. If the same person also has natural person accounts, or is the Firm Rep / Authorized Representative for other entity accounts, then that person will have more than one membership on the system with separate login credentials for each.

Step 3 - Create Corporate Firm

info

Note

This step is only required for entity accounts. Please skip to Step 4 for non-entity accounts.

This request creates a corporate firm, to which you will associate a new member as the firm rep, and then associate one of the available corporate/entity account types.

Unlike Folio corporate/entity firms noted above, Folio Institutional firms (those setup for RIA or introducing broker-dealer firms) cannot be created using the API, only by Folio Institutional staff.

You must provide the corporate entity's actual email address. Email addresses created or provided by the Folio Institutional firm are not permitted. We cannot accept any client email address or phone number with the same domain name or phone number that is associated with your Folio Institutional Firm, unless that account is owned by your Firm.

You must establish processes to ensure that all client profile information, including but not limited to physical mailing address(es), email address, phone number(s), and other personal data, is accurate and complete, and that you update the our system with all client profile changes when they are received by your Firm. |

To create a corporate firm, POST /v1/firms with this payload:

{
  "firmTaxId": "587325682",
  "firmTaxIdType": "TIN",
  "firmSubType": "F",
  "firmName": "Dare Firm",
  "firmTelephone1": "2084751949",
  "firmEmail1": "btrst3@email.com",
  "finraAffiliated": false,
  "directorOrTenPercentShareholder": false,
  "primaryAddress": {
    "line1": "7046 Heaney Port",
    "city": "South Roy",
    "state": "AR",
    "zipcode": "01828",
    "country": "US"
  },
  "firmRep": "edward3674"
}

The URL returned in the HTTP response will contain the Firm ID (v1/firms/<THISISFIRMID>), which you will need to create the entity account.

HTTP/1.1 201 Created
Location: https://api.uat.foliofn.com/restapi/v1/firms/HEANEYIGKZDYLMWO
Link: <https://api.uat.foliofn.com/restapi/v1/firms/DAREYIFGKZDYLMWO>; rel="GET"; type="application/json"; title="getFirm", <https://api.uat.foliofn.com/restapi/v1/firms/HEANEYIGKZDYLMWO>; rel="PUT"; type="application/json"; title="updateFirm"
Content-Type: text/html; charset=iso-8859-1
Content-Length: 0
Date: Wed, 3 Aug 2022 19:18:58 GMT

Step 4 - Create Account(s)

An account is a brokerage account that natural persons and corporate legal entities use for investing.

info

Note

  • New accounts are automatically restricted upon creation, pending the user signing the brokerage customer agreement, as well as potentially other reasons, such as CIP failure, trust account evidence of existence, entity account questionnaire, etc.

  • Accounts so restricted cannot take most actions.

  • See the Get a Restriction endpoint for more information on restriction details and how to lift these restrictions in the test and production environments.

Natural Person Accounts

Natural persons accounts are accounts opened for a specific human being, as opposed to entity accounts.

More than one natural person accounts can be set up simultaneously under a single member without resending any of the member information.

All joint account members must be created prior to creating the joint account.

Members are able to have multiple accounts, except those assigned as the firm rep on a corporate account.

warning

Alert

For billing purposes, in the case of joint accounts, the primaryAccountOwner will be the member that owns the account for billing purposes. In the event that there is an asset-based fee for each member, based upon aggregate assets of a membership, the joint account assets will be included in the primaryAccountOwner's assets under management calculation.

Entity Accounts

Entity accounts are accounts opened for a specific entity that is not a human being, as opposed to natural person accounts.

Only a member associated with no accounts and no firms can be designated as the authorized rep for a corporate account, and a firm can have only one authorized rep. Further, a firm can only have one corporate account under it.

There are additional fields for a corporate account that are not required for natural person accounts, such as accountRegistrationInfo.

To create a Natural Person (revocable trust account shown below), POST /v1/accounts with the payload below.

The primaryAccountOwner for a natural persons account is set to the loginId associated with the member who owns the account.

{
  "accountName": "Weimann Trust",
  "accountType": "X",
  "billingPlanOid": 8718968878599893000,
  "primaryAccountOwner": "santiago31745",
  "accountRegistrationInfo": "registration",
  "statutoryTrust": false,
  "trustIndividuals": true,
  "dateOfFormation": "1988-12-05T00:00:00.000-05:00",
  "countryOfOrganization": "US",
  "stateOfOrganization": "TX",
  "placeOfBusiness": {
    "line1": "457 Ratke Isle",
    "city": "South Luigi",
    "state": "AK",
    "zipcode": "86813",
    "country": "US"
  },
  "relatedEntities": {
    "grantors": [
      {
        "ssn": "759416477",
        "dateOfBirth": "1988-12-05T00:00:00.000-05:00",
        "firstName": "Trust Grantor",
        "relationship": "O",
        "residenceCountry": "US",
        "citizenship": "C",
        "deceased": false,
        "expectedActivity": {
          "chequeTransferPerMonth": 3,
          "domesticWireTransferPerMonth": 4,
          "internationalWireTransfersPerMonth": 0,
          "productsToInvest": ["LOW_PRICE_SEC"]
        },
        "sourceOfWealth": {
          "assets": [
            {
              "lineOfBusiness": "AEROSPACE",
              "proceedsFromSaleOfBusiness": false,
              "typeOfAsset": "BUSINESS"
            }
          ],
          "entrepreneurs": [
            {
              "lineOfBusiness": "AEROSPACE",
              "nameOfCompany": "Ed Touch"
            }
          ],
          "personalInvestments": [
            {
              "lineOfBusiness": "CRYPTOCURRENCY",
              "typeOfInvestment": "CRYPTOCURRENCIES_OR_INITIAL_COIN_OFFERINGS"
            }
          ],
          "employments": [
            {
              "annualIncome": 0,
              "employerCountry": "US",
              "employerName": "Goldman Sachs",
              "lineOfBusiness": "FINANCE"
            }
          ],
          "additionalSources": ["PARENTAL_SUPPORT"]
        }
      }
    ]
  }
}

To create an Entity Account (Entity Inherited roth IRA account shown below), POST /v1/accounts with this payload:

The primaryAccountOwner for an entity account is the firmId associated with the corporate entity on the account

{
  "accountName": "Dare Trust Account",
  "accountType": "3",
  "billingPlanOid": "8718968878599893274",
  "primaryAccountOwner": "DAREYIFGKZDYLMWO",
  "accountRegistrationInfo": "Dare Trust",
  "inheritedAcctDetail": {
    "inheritanceType": "T",
    "payoutElection": "L",
    "transferAccount": false
  },
  "relatedEntities": {
    "decedents": [
      {
        "ssn": "751113509",
        "relationship": "O",
        "dateOfBirth": "1988-12-05T00:00:00.000-05:00",
        "dateOfDeath": "1999-12-05T00:00:00.000-05:00",
        "firstName": "Inherited",
        "lastName": " Decedent",
        "residenceCountry": "US",
        "citizenship": "C",
        "expectedActivity": {
          "chequeTransferPerMonth": 3,
          "productToInvest": ["LOW_PRICE_SEC"]
        },
        "sourceOfWealth": {
          "assets": [
            {
              "lineOfBusiness": "AEROSPACE",
              "proceedsFromSaleOfBusiness": false,
              "typeOfAsset": "BUSINESS"
            }
          ],
          "entrepreneurs": [
            {
              "lineOfBusiness": "AEROSPACE",
              "nameOfCompany": "Ed Touch"
            }
          ],
          "personalInvestments": [
            {
              "lineOfBusiness": "CRYPTOCURRENCY",
              "typeOfInvestment": "CRYPTOCURRENCIES_OR_INITIAL_COIN_OFFERINGS"
            }
          ],
          "employments": [
            {
              "annualIncome": 0,
              "employerCountry": "US",
              "employerName": "Goldman Sachs",
              "lineOfBusiness": "FINANCE"
            }
          ],
          "additionalSources": ["PARENTAL_SUPPORT"]
        }
      }
    ]
  }
}

Step 5 - Submit Signature

Use this request to complete the signing of the Customer Agreement. A restriction will be placed on the newly created account until a signature is received.

The Customer Agreement is linked to the member / account Item For Attention (IFA):

  • If a Customer Agreement's IFA exist, this call resolves it as agreed once the signature / document is uploaded,
  • If no IFA exist, the signature / document is still uploaded.
  • This call, when successful, also lifts the restriction on the account for missing Customer Agreement signature.

When signatureMethod = "SIGNATURE_IMAGE"
POST /V1/accounts/{accountnumber}/customeragreement

{
  "loginId": "testuser01",
  "signatureImageEncoding": "SVG",
  "signatureData": "...image content encoded in Base64...",
  "signatureMethod": "SIGNATURE_IMAGE",
  "w9Withhold": "false"
}

When signatureMethod = "SIGNED_PDF"
POST /V1/accounts/{accountnumber}/customeragreement

{
  "loginId": "testuser01",
  "signatureData": "...pdf content encoded in Base64...",
  "signatureMethod": "SIGNED_PDF",
  "w9Withhold": "true"
}

Step 6 - Check Account Restrictions

Account restrictions can result from the account opening process, such as CIP Failure.

Restrictions would prevent further actions like initiating deposits and trading from taking place on an account.

GET v1/accounts/{accountnumber}/restrictions will return any restrictions currently on the account.

{
  "accountNumber": "123123123123123",
  "accountRestrictionId": "77777777777777777",
  "creationTs": "2014-07-05T09:14:55.790-04:00",
  "inceptionInfo": " ",
  "reason": {
    "code": "021",
    "comments": "Externally Set Restriction used through the API",
    "name": "External"
  },
  "type": {
    "code": "CR",
    "description": "Account is completely restricted",
    "title": "Complete Restriction"
  }
}

Supported Account Types

An account is a brokerage account that natural persons and corporate legal entities use for investing. Goldman Sachs Advisor Solutions supports the following account types:

Natural Person Accounts

The following natural person account types are supported.

CodeDescription
IIndividual
JJoint – Rights of Survivorship
KJoint – Tenants in Common
LJoint – Community Property
MJoint – Tenants by Entirety
PSEP IRA
QIRA Rollover
RTraditional IRA
SRoth IRA
1Inherited Roth IRA
2Inherited Traditional IRA
9Simple IRA
6Estate
TCustodial (UTMA)
XRevocable Trust

Entity Accounts

The following entity account types are supported.

CodeDescription
ACorporation
BGeneral Partnership
DBusiness/Irrevocable Trust
ELimited Partnership
FLimited Liability Corporation
VUnincorporated Organization
3Entity Owned Inherited Roth IRA
4Entity Owned Inherited Traditional IRA
info

Note

  • There are additional account types which are supported on our advisor site UI that are not yet supported by API, such as qualified retirements plans.

  • All other values will be rejected with status 400 and code "invalid choice."

  • Inherited Traditional IRA (RI), Inherited IRA Rollover (QI), and Inherited Roth IRA (SI) are no longer supported and will be replaced by the new inherited IRA account types (1, 2, 3 and 4 from the table above).

  • Some existing accounts may still display deprecated account types.

  • Entity accounts require additional documentation to be completed. Link to form is copied below.

Important Forms

Please see our Forms Page to see additional forms that might be needed depending on your use case.


GS DAP® is owned and operated by Goldman Sachs. This site is for informational purposes only and does not constitute an offer to provide, or the solicitation of an offer to provide access to or use of GS DAP®. Any subsequent commitment by Goldman Sachs to provide access to and / or use of GS DAP® would be subject to various conditions, including, amongst others, (i) satisfactory determination and legal review of the structure of any potential product or activity, (ii) receipt of all internal and external approvals (including potentially regulatory approvals); (iii) execution of any relevant documentation in a form satisfactory to Goldman Sachs; and (iv) completion of any relevant system / technology / platform build or adaptation required or desired to support the structure of any potential product or activity. All GS DAP® features may not be available in certain jurisdictions. Not all features of GS DAP® will apply to all use cases. Use of terms (e.g., "account") on GS DAP® are for convenience only and does not imply any regulatory or legal status by such term.
¹ Real-time data can be impacted by planned system maintenance, connectivity or availability issues stemming from related third-party service providers, or other intermittent or unplanned technology issues.
Transaction Banking services are offered by Goldman Sachs Bank USA (“GS Bank”) and its affiliates. GS Bank is a New York State chartered bank, a member of the Federal Reserve System and a Member FDIC. For additional information, please see Bank Regulatory Information.
Certain solutions and Institutional Services described herein are provided via our Marquee platform. The Marquee platform is for institutional and professional clients only. This site is for informational purposes only and does not constitute an offer to provide the Marquee platform services described, nor an offer to sell, or the solicitation of an offer to buy, any security. Some of the services and products described herein may not be available in certain jurisdictions or to certain types of clients. Please contact your Goldman Sachs sales representative with any questions. Any data or market information presented on the site is solely for illustrative purposes. There is no representation that any transaction can or could have been effected on such terms or at such prices. Please see https://www.goldmansachs.com/disclaimer/sec-div-disclaimers-for-electronic-comms.html for additional information.
Mosaic is a service mark of Goldman Sachs & Co. LLC. This service is made available in the United States by Goldman Sachs & Co. LLC and outside of the United States by Goldman Sachs International, or its local affiliates in accordance with applicable law and regulations. Goldman Sachs International and Goldman Sachs & Co. LLC are the distributors of the Goldman Sachs Funds. Depending upon the jurisdiction in which you are located, transactions in non-Goldman Sachs money market funds are affected by either Goldman Sachs & Co. LLC, a member of FINRA, SIPC and NYSE, or Goldman Sachs International. For additional information contact your Goldman Sachs representative. Goldman Sachs & Co. LLC, Goldman Sachs International, Goldman Sachs Liquidity Solutions, Goldman Sachs Asset Management, L.P., and the Goldman Sachs funds available through Goldman Sachs Liquidity Solutions and other affiliated entities, are under the common control of the Goldman Sachs Group, Inc.
© 2025 Goldman Sachs. All rights reserved.