menu

Authentication

The following instructions describe how to authenticate to the public facing APIs of the Goldman Sachs Advisor Solutions (GSAS) custody platform.

Connecting to GSAS APIs

Goldman Sachs Advisor Solutions (GSAS) supports API integration to our services with third-party applications via the OAuth 2.0 standard for authentication.

OAuth access must be approved by GSAS. Once an OAuth application is approved for use, GSAS issues a clientId and clientSecret through Lockbox or via secure email. The clientId is used in your application to authorize the user to access GSAS APIs.

For more information on how to request access to our APIs, contact the GSAS Integrations Team.

info

Note

The clientSecret isn’t retained by GSAS staff and must be safeguarded by the vendor

Step 1 - Configure GSAS Authorization URL

Once you've obtained your clientId, you need to configure the GSAS User Authorization URL copied below in your application.

Users must click this link to authorize GSAS to share their data with your application. The user is redirected back to your site once they have completed the authorization.

https://uat-custody.advisorsolutions.gsapis.com/app/authorizations/[Your Client Id]

This is a one time authorization to give the user access to the Oauth app. Access can be revoked by the user in the users setting page or by the

GSAS REST clients can take actions based on the endpoints permissioned for your specific integration and the entitlements of the user authorizing the data sharing in this step.

Refer to "What are the levels of account access?" to learn about our current access roles.

Step 2 - Get Client Credentials Token

Make a GET call to the Ping Federate token endpoint to obtain the access_token:

curl -u <clientId>:<clientSecret> --data "grant_type=client_credentials" https://idfs-qa.gs.com/as/token.oauth2?access_token_manager_id=JwtOneGsApi

A response generates to indicate your call was successful:

{"access_token": "<redacted>",
"token_type": "Bearer",
"expires_in": 43199}

Step 3 - Generate User accessToken

Make a POST call to the GSAS OAuth endpoint to obtain the user token for the Advisor. You must pass the access_token you obtained in Step 2 in the Authorization header of this request.

curl --request POST "https://uat-custody.advisorsolutions.gsapis.com/api/v2/oauth-apps/[clientId]/tokens" --header "Authorization: Bearer <access_token>" --header "Content-Type: application/json" -d "{ \"loginId\": \"testloginId\"}"

The GSAS user must have already granted access to share data with the 3rd party application (see step 1). If the user has not authorized access, the API returns an error.

{"type":"UNAUTHORIZED",
"displayMessage":"Clientid 2a98a33fc85b4616974955321c30728b is not authorized to get tokens for loginid testloginid",
"requestId":"a0eebb1dd67741bfaa841c7ce2816ef0",
"timestamp":"2024-02-13T12:11:33.283312035-05:00"}

A successful call will return the accessToken you need to make the API calls to GSAS for this user.

{"accessToken":"[YOUR_BEARER_TOKEN_HERE]"}

This access token is valid for 20 minutes before it expires. Once the access token expires, you’re required to generate a new one.

Step 4 - Use accessToken to call the GSAS APIs

Provide the accessToken obtained in Step 3 in the Authorization header for any subsequent API calls until the token expires.

Sample request for GET Users:

GET "https://uat-custody.advisorsolutions.gsapis.com/api/v2/users/testadvisor" -H 
"Authorization: Bearer [YOUR_BEARER_TOKEN_HERE]"

If successful, the API returns a 200 HTTP code with a response body similar to the following example:


{
  "userId": "testadvisor",
  "serviceTaskId": null,
  "taskId": null,
  "guid": null,
  "folioLoginId": "testadvisor",
  "idhubLoginId": null,
  "memberOid": "5116089184397476264",
  "firstName": "FN-testadvisor",
  "middleName": "J",
  "lastName": "LN-testadvisor",
  "suffix": null,
  "loginId": "testadvisor",
  "email": "advisor@gs.com",
  "recoveryEmail": null,
  "dayPhoneNumber": 723637272,
  "eveningPhoneNumber": 7466960799,
  "deliveryMethod": "EMAIL",
  "residentialAddress": null,
  "mailingAddress": null,
  "dateOfBirth": "1962-11-22",
  "tid": "123456789",
  "countryOfCitizenship1": "US",
  "countryOfCitizenship2": null,
  "permanentUsResident": null,
  "residentStatus": null,
  "dependentCount": 0,
  "maritalStatus": null,
  "topMarginalTaxBracket": null,
  "employmentStatus": null,
  "directorOrTenPercentShareholder": null,
  "directorOrTenPercentShareholderCompany": null,
  "finraAssociatedPerson": null,
  "politicallyExposedPerson": null,
  "sourcesOfWealth": null,
  "employmentDetails": null,
  "assetsDetails": null,
  "personalInvestmentsDetails": null,
  "entrepreneurDetails": null,
  "expectedActivitiesInvestmentProducts": null,
  "anticipateDomesticWireTransfers": null,
  "estimatedNumberOfDomesticWireTransfersPerMonth": null,
  "anticipateWritingChecksAgainstAccount": null,
  "estimatedNumberOfChecksWrittenPerMonth": null,
  "firmOid": 4395513243606464000,
  "firmId": "TESTARANXVJTWCFI",
  "partnerCode": "TESTADVISOR",
  "paymentOid": "0",
  "folioEmployeeInd": "N",
  "creationMode": "E",
  "memberAgreement": "Y",
  "folioStatus": null,
  "transState": "REGISTERED_MEMBER",
  "membershipType": "INVESTMENT_ADVISOR",
  "folioExpirationDate": "3999-12-31 05:00:00",
  "folioMemberChangeTs": "2021-10-07 04:00:00",
  "driversLicense": null,
  "creationDate": null,
  "advisorLoginId": null,
  "accreditedInvestorAnnualIncome": null,
  "accreditedInvestorNetWorth": null,
  "cipStatus": null,
  "firmIds": [
    "TESTARANXVJTWCFI"
  ],
  "roles": null,
  "newRoles": null,
  "previousExperienceIndustrySector": null,
  "previousPrivatePlacementExperience": null,
  "status": "ACTIVE",
  "tokens": [
    "userId:testadvisor"
  ],
  "memberRelationships": [],
  "entitlements": {
    "view": [
      "role:superuser"
    ],
    "edit": [
      "role:superuser"
    ],
    "admin": [
      "role:superuser"
    ],
    "openAccounts": [
      "role:superuser"
    ]
  }
}
  

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.