Link In-App and Google Accounts

This guide provides instructions how to link your Google account with the app account to use the Google sign-in process.

Step 1. Get Google Link Url

Endpoint:

GET /reg/v1/google/link/url

This endpoint is used to start linking an in-app account to a Google account by providing Google OAuth authorization URL.

❗️

The email address used during registration must match the Google account you are trying to link.

Headers:

NameTypeRequiredDescription
clientIdstringPlatform type where the application is installed (IOS/WEB/ANDROID).

Request Example:

{        
   "clientId": "IOS"  
}

Response Example:

{
    "url": "https://accounts.google.com/o/oauth2/auth?access_type=online&client_id=594418530070-ejih71himddjvtmqtiugu40kcguf19as.apps.googleusercontent.com&redirect_uri=https://dev-app.vault.ist/&response_type=code&scope=openid%20email&state=833b67a5-6ea9-4ef4-a423-50f65850fa1e&prompt=consent"
}

Step 2. Link Google Account

Endpoint:

POST /reg/v1/google/link

This endpoint shares Google auth details with the backend to provide OAuth2.0 Google authentication and complete user's authorization in the app.

Headers:

NameTypeRequiredDescription
clientIdint32Platform type where the application is installed (IOS/WEB/ANDROID).

Body Parameters:

NameTypeRequiredDescription
codestringCode received after a user completes the Google authorization flow via the link provided in the initial request. Replace %2F symbols contained in the code with /.
statestringInformation received by the backend services after a user completes the Google authorization flow.

Request Example:

{
  "code": "4/0ASc3gC3jnK227R_CXwh48E62F7NGQSr0E7nRdCXHLTsyXBRqPNbGN_WDAoHAVIq4ZS1gRA",
  "state": "833b67a5-6ea9-4ef4-a423-50f65850fa1e"
}

Response Example:

{
    "userId": "f6098985-3cfd-4c89-a887-c391e1704e7f",
    "email": "[email protected]",
    "passwordLastChangeDate": "2026-01-14T08:58:47.874+00:00",
    "status": "ACTIVE",
    "userScopes": [
        "bank_account:show",
        "bank_account_usd:show",
        "cardholder_user:read",
        "cardholder_user:show",
        "crypto_to_sepa:show",
        "deposit_crypto:show",
        "exchange:show",
        "payin:show",
        "sepa_to_crypto:show",
        "transfer_other:create",
        "transfer_own:create",
        "user_mfa:create",
        "user_mfa:read",
        "withdraw_crypto:show"
    ],
    "authorizationMfaActive": false,
    "googleLinked": true,
    "hasPassword": true
}

After successful account linking, the googleLinked parameter in the Retrieve User Information endpoint response will be set to true.