> ## Documentation Index
> Fetch the complete documentation index at: https://docs.go.gbgplc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to integrate Digital ID using GO APIs

> Integrate Digital ID using GBG GO to provide a smooth identity verification experience.

This guide explains how to integrate Digital ID into your app, using GBG GO. Your product manages the provider selection process. Once the user selects a provider, GBG GO handles the user experience through a hosted UI for complex interactions.

## Prerequisites

To integrate Digital ID, you need:

* A secure backend to make API calls
* A frontend website or mobile app

## Step 1: List applicable providers

Display a list of identity providers and prompt the user to select one. Display each provider using both the logo and name as shown below to comply with brand requirements.

<Columns cols={2}>
  <Card>
    <div style={{ textAlign: 'center' }}>
      <img src="https://mintcdn.com/gbg-loqate/PeCQygpb03mD49MF/images/la-wallet.png?fit=max&auto=format&n=PeCQygpb03mD49MF&q=85&s=f2110e4c37b536a127c98819471c20e4" alt="LA Wallet" style={{ width: '100px', display: 'block', margin: '0 auto' }} width="200" height="200" data-path="images/la-wallet.png" />

      <strong>LA Wallet</strong><br />
      **Provider ID:** `usa-louisiana-wallet`
    </div>
  </Card>

  <Card>
    <div style={{ textAlign: 'center' }}>
      <img src="https://mintcdn.com/gbg-loqate/sjraMdPLPALUqj3-/images/logo/se-bankid.svg?fit=max&auto=format&n=sjraMdPLPALUqj3-&q=85&s=c5075e12ecd7a3055d73b374452bc04e" alt="LA Wallet" style={{ width: '100px', display: 'block', margin: '0 auto' }} width="316" height="299" data-path="images/logo/se-bankid.svg" />

      <strong>BankID Sweden</strong><br />
      **Provider ID:** `sweden-bankid`
    </div>
  </Card>

  <Card>
    <div style={{ textAlign: 'center' }}>
      <img src="https://mintcdn.com/gbg-loqate/sjraMdPLPALUqj3-/images/logo/mitid-logo.svg?fit=max&auto=format&n=sjraMdPLPALUqj3-&q=85&s=924fe83596f5100779b3d4bf6dbc8187" alt="LA Wallet" style={{ width: '100px', display: 'block', margin: '0 auto' }} width="234" height="62" data-path="images/logo/mitid-logo.svg" />

      <strong>MitID</strong><br />
      **Provider ID:** `denmark-mitid`
    </div>
  </Card>

  <Card>
    <div style={{ textAlign: 'center' }}>
      <img src="https://mintcdn.com/gbg-loqate/PeCQygpb03mD49MF/images/ca-dmv.png?fit=max&auto=format&n=PeCQygpb03mD49MF&q=85&s=dc4f03801e3d88db99580eb51b1fb37b" alt="LA Wallet" style={{ width: '100px', display: 'block', margin: '0 auto' }} width="480" height="480" data-path="images/ca-dmv.png" />

      <strong>CA DMV Wallet</strong><br />
      **Provider ID:** `usa-california-dmv`
    </div>
  </Card>

  <Card>
    <div style={{ textAlign: 'center' }}>
      <img src="https://mintcdn.com/gbg-loqate/sjraMdPLPALUqj3-/images/logo/spid.svg?fit=max&auto=format&n=sjraMdPLPALUqj3-&q=85&s=ab9283f028089052e2491222b7966782" alt="LA Wallet" style={{ width: '100px', display: 'block', margin: '0 auto' }} width="139" height="69" data-path="images/logo/spid.svg" />

      <strong>SPID</strong><br />
      **Provider ID:** `italy-spid`
    </div>
  </Card>
</Columns>

For a full list of all GBG GO supported providers, refer to the [Digital ID portal](/docs/go-v2/digital-id-portal/overview).

## Step 2: Create a session

After the user selects an identity provider, follow these steps:

<Steps>
  <Step title="Authenticate with GBG GO API">
    Use your API credentials to authenticate with the GBG GO API and obtain an access token. For detailed instructions, refer to the [Authentication guide](/docs/go-v1/developer-integration/execute-customer-journeys/authenticate).
  </Step>

  <Step title="Start a journey">
    Use the [`/journey/start`](/docs/go-v2/api-reference/endpoint/start-journey) endpoint to initiate a customer journey.

    **Sample request payload**:

    ```json JSON theme={null}
    {
      "resourceId": "c8ce398acdf00ef3bfc1f5891e515a5312783a9e687b49a6174cc4c6eb256839@5nfl7yy3",
      "context": {
        "subject": {
          "sessions": [
            {
              "auth": [
                {
                  "id": "DigitalIdentity",
                  "redirectUri": "gbg.com/en/",
                  "scope": "sweden-bankid"
                }
              ]
            }
          ],
          "identity": {}
        }
      }
    }
    ```

    For more details on starting a journey, refer to the [Start a journey guide](/docs/go-v1/developer-integration/execute-customer-journeys/start-a-journey-step).
  </Step>

  <Step title="Fetch journey state">
    After starting the journey, use the [`/journey/state`](/docs/go-v2/api-reference/endpoint/fetch-journey-state) endpoint to retrieve the current state of the journey. This provides you with a URI to redirect the user to the Digital ID provider's hosted UI. The response includes a `sessionId` and a `launchUrl` field as shown in the example below:

    ```json JSON expandable theme={null}
        {
      "metaData": {
        "createdTime": "2025-10-16T10:09:39.586Z",
        "completedTime": null
      },
      "status": "InProgress",
      "data": {
        "context": {
          "process": {
            "flow": {
              "DigitalId_LaunchUrl": {
                "process": {
                  "journey": {
                    "name": "Journey Name",
                    "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
                    "version": "23zmzi4l",
                    "startedAt": "2025-10-16T10:09:39.625Z"
                  },
                  "instance": {
                    "id": "PiI6Ft6TqngR8LNW9gfy0cqu",
                    "instanceId": "PRC-3a16de93-aa78-11f0-b356-f607f2d1caae"
                  }
                },
                "subject": {
                  "identity": {},
                  "sessions": [
                    {
                      "auth": [
                        {
                          "id": "DigitalIdentity",
                          "scope": "sweden-bankid",
                          "redirectUri": "gbg.com/en/"
                        }
                      ]
                    }
                  ]
                },
                "result": {
                  "advice": {},
                  "note": {
                    "sessionId": "667b1fcb-9bc1-80aa-af59-369bf4316b7a",
                    "launchUrl": "https://api.trinsic.id/api/session/launch?clientToken=2FRXHXzXv7FVbeVtU5VgseaW6FGLBveXVUQgqM7s5BLjXd8ZBuLD46mpDq9cNFmibWumhHxfNVTP5vjjQHaoQCFbvMBCdkPipPiFJygUT39jiMwQcCvJNefZLsoJaz2eoacyMCbfM7htyof76zhiQZCVygasuZtwZ1gHkT3iJM3fZAm2nxDvncNLtwZE7EV97TBTvcsbswbvE4fxGHanczVDoD5LZJgmKZpCwmtzEeGFYWBXKZpJEFuUSC9nwHPpuQSYKsbSFosq8CVbaRYhG4MdCKBNDcc5iYP7FXNQndBYEZ9M4KsXxrURDBVt2mhdbLypqxdPGCbkFT5J3H8z4oz6iTkJqhC&sessionId=667b1fcb-9bc1-80aa-af59-369bf4316b7a"
                  },
                  "status": "complete",
                  "outcome": "Session Launched"
                }
              },
              "DigitalId_GetResults": {
                "process": {
                  "journey": {
                    "name": "Journey Name",
                    "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
                    "version": "23zmzi4l",
                    "startedAt": "2025-10-16T10:09:39.625Z"
                  },
                  "instance": {
                    "id": "PiI6Ft6TqngR8LNW9gfy0cqu",
                    "instanceId": "PRC-3a16de93-aa78-11f0-b356-f607f2d1caae"
                  }
                },
                "subject": {
                  "identity": {},
                  "sessions": [
                    {
                      "auth": [
                        {
                          "id": "DigitalIdentity",
                          "scope": "sweden-bankid",
                          "redirectUri": "gbg.com/en/"
                        }
                      ]
                    }
                  ]
                },
                "result": {
                  "status": "pending",
                  "advice": {}
                }
              }
            },
            "journey": {
              "name": "Journey Name",
              "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
              "version": "23zmzi4l",
              "startedAt": "2025-10-16T10:09:39.625Z"
            },
            "instance": {
              "id": "PiI6Ft6TqngR8LNW9gfy0cqu",
              "instanceId": "PRC-3a16de93-aa78-11f0-b356-f607f2d1caae"
            }
          },
          "subject": {
            "identity": {},
            "sessions": [
              {
                "auth": [
                  {
                    "id": "DigitalIdentity",
                    "scope": "sweden-bankid",
                    "redirectUri": "gbg.com/en/"
                  }
                ]
              }
            ]
          },
          "result": {
            "status": "pending",
            "error": []
          }
        }
      },
      "instanceId": "PiI6Ft6TqngR8LNW9gfy0cqu"
    }
    ```

    <Note>
      Save the `sessionId` in your database and send the `launchUrl` to your frontend.
    </Note>

    For more details on fetching the journey state, refer to the [Fetch journey state guide](/docs/go-v1/developer-integration/execute-customer-journeys/fetch-journey-state-step).
  </Step>
</Steps>

## Step 3: Launch session on frontend

When your frontend receives the `launchUrl` from your backend, launch it by navigating the user's browser to the URL. This can be:

* A top-level navigation
* A new tab or window
* A dialog

## Step 4: Capture user redirect

When the user completes the session, they are redirected to your specified `redirectUrl` with added query parameters:

* `sessionId`

Send the `sessionId` to your backend to fetch the final session results.

## Step 5: Retrieve session results

After your frontend sends the `sessionId` to your backend, follow these steps:

<Steps>
  <Step title="Retrieve tasks">
    Use the `/journey/tasks/list` endpoint to get a list of tasks associated with the session. This helps you identify the specific task ID needed to fetch detailed results.
  </Step>

  <Step title="Submit task data">
    Use the `/journey/task/update` endpoint to submit any required data for the task.

    **Sample request payload**:

    ```json JSON  theme={null}
     {
      "intent": "Complete",
      "instanceId": "{{instanceId}}",
      "taskId": "{{taskId}}",
      "data": {
        "context": {
          "subject": {
            "sessions": [
              {
                "auth": [
                  {
                    "id": "DigitalIdentityResult",
                    "clientId": "667b1fcb-9bc1-80aa-af59-369bf4316b7a"
                  }
                ]
              }
            ],
            "identity": {}
          }
        }
      }
    }
    ```

    Submit the `sessionId` as `clientId`.

    For more details on submitting task data, refer to the [Submit task data guide](/docs/go-v1/developer-integration/execute-customer-journeys/submit-task-data-step).
  </Step>

  <Step title="Fetch journey state">
    Use the `/journey/state` endpoint to check the status of the journey and retrieve the results.

    **Sample request payload**:

    ```json JSON theme={null}
    {
        "instanceId": "PiIbYsgiHp4R8JPz2vU5Y9l4"
    }
    ```

    The response includes the results of the Digital ID verification.

    **sample response payload**:

    ```json JSON expandable theme={null}
    {
      "metaData": {
        "createdTime": "2025-10-16T10:16:55.059Z",
        "completedTime": "2025-10-16T10:18:42.201Z"
      },
      "status": "Completed",
      "data": {
        "context": {
          "process": {
            "flow": {
              "DigitalId_LaunchUrl": {
                "process": {
                  "journey": {
                    "name": "Journey Name",
                    "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
                    "version": "23zmzi4l",
                    "startedAt": "2025-10-16T10:16:55.094Z"
                  },
                  "instance": {
                    "id": "PiI9psZFqnkR8KlQLnYlDE0Z",
                    "instanceId": "PRC-3da6c645-aa79-11f0-a950-2e76250c4d19"
                  }
                },
                "subject": {
                  "identity": {},
                  "sessions": [
                    {
                      "auth": [
                        {
                          "id": "DigitalIdentity",
                          "scope": "trinsic-test-sub-providers",
                          "redirectUri": "gbg.com/en/"
                        }
                      ]
                    }
                  ]
                },
                "result": {
                  "advice": {},
                  "note": {
                    "sessionId": "667b2174-5dc1-80c0-9298-a8a226144b15",
                    "launchUrl": "https://api.trinsic.id/api/session/launch?clientToken=2RPzQxmroZNXJUg4yiHxbepnjSLmgmvQeWiw6V1jEa9hRF5dqW4k8YVizi9kEk4uaasrg6gtoE9VbKZnGTtnqwtAE85ezAMpDdU5wEouVL9mmouVR12g58FqxrwaHtN3PF7KpEXxusyvMfSE45vADoPM3hq3LWLy23yM2Jjwbp93RaoYx6XvxEw9McoTZfMvv1hhKe3buWKGZcBDWfhSBKpPu2MaYRSQXXgWbejG2ADfjKMgB1oGP1KEwRx39XHRTHQ7Db8od5CHqrGdeTKPsWHdnPDN3pYNmcpJH8qmu9tGSKJSetXEydbZymvW4c2quRFWjVjkgaue7M7hNCn86Dn7fs37wux&sessionId=667b2174-5dc1-80c0-9298-a8a226144b15"
                  },
                  "status": "complete",
                  "outcome": "Session Launched"
                }
              },
              "DigitalId_GetResults": {
                "process": {
                  "journey": {
                    "name": "Journey Name",
                    "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
                    "version": "23zmzi4l",
                    "startedAt": "2025-10-16T10:16:55.094Z"
                  },
                  "instance": {
                    "id": "PiI9psZFqnkR8KlQLnYlDE0Z",
                    "instanceId": "PRC-3da6c645-aa79-11f0-a950-2e76250c4d19"
                  }
                },
                "subject": {
                  "identity": {},
                  "sessions": [
                    {
                      "auth": [
                        {
                          "id": "DigitalIdentityResult",
                          "clientId": "667b2174-5dc1-80c0-9298-a8a226144b15"
                        }
                      ]
                    }
                  ]
                },
                "result": {
                  "advice": {
                    "providerID": "trinsic-test-sub-providers",
                    "subProviderID": "sub-provider-a",
                    "status": "Successful"
                  },
                  "status": "complete",
                  "note": {
                    "subject": {
                      "identity": {
                        "firstName": "John",
                        "middleNames": [
                          "Jacob"
                        ],
                        "lastNames": [
                          "Doe"
                        ],
                        "dateOfBirth": "1990-06-30",
                        "currentAddress": {
                          "lines": [
                            "123 Street",
                            "Apt 1",
                            "Floor 2"
                          ],
                          "locality": "New York",
                          "administrativeArea": "NY",
                          "postalCode": "10001",
                          "country": "US"
                        }
                      }
                    }
                  },
                  "subject": {
                    "identity": {
                      "firstName": "John",
                      "middleNames": [
                        "Jacob"
                      ],
                      "lastNames": [
                        "Doe"
                      ],
                      "dateOfBirth": "1990-06-30",
                      "currentAddress": {
                        "lines": [
                          "123 Street",
                          "Apt 1",
                          "Floor 2"
                        ],
                        "locality": "New York",
                        "administrativeArea": "NY",
                        "postalCode": "10001",
                        "country": "US"
                      }
                    }
                  },
                  "outcome": "Verified"
                }
              },
              "mgqen03sjzx4cpuelxn": {
                "process": {
                  "instance": {
                    "id": "PiI9psZFqnkR8KlQLnYlDE0Z",
                    "instanceId": "PRC-3da6c645-aa79-11f0-a950-2e76250c4d19"
                  },
                  "journey": {
                    "name": "Journey Name",
                    "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
                    "version": "23zmzi4l",
                    "startedAt": "2025-10-16T10:16:55.094Z",
                    "endedAt": "2025-10-16T10:18:41.958Z",
                    "durationMilliSec": 106864
                  }
                },
                "_ggo": {
                  "evaluationStepInput": {
                    "context.process.flow.DigitalId_LaunchUrl.result.outcome": "PASS",
                    "context.process.flow.DigitalId_GetResults.result.outcome": "Verified"
                  }
                },
                "result": {
                  "outcome": "Decision: Accept"
                }
              }
            },
            "journey": {
              "name": "Journey Name",
              "id": "4720df7abf23d56be6e9bf93d8f60d214c478008f3d2ea4c7b4ed70caa5919c4",
              "version": "23zmzi4l",
              "startedAt": "2025-10-16T10:16:55.094Z",
              "endedAt": "2025-10-16T10:18:41.958Z",
              "durationMilliSec": 106864
            },
            "instance": {
              "id": "PiI9psZFqnkR8KlQLnYlDE0Z",
              "instanceId": "PRC-3da6c645-aa79-11f0-a950-2e76250c4d19"
            }
          },
          "subject": {
            "identity": {},
            "sessions": [
              {
                "auth": [
                  {
                    "id": "DigitalIdentity",
                    "scope": "trinsic-test-sub-providers",
                    "redirectUri": "gbg.com/en/"
                  }
                ]
              }
            ]
          },
          "result": {
            "status": "complete",
            "error": []
          }
        }
      },
      "instanceId": "PiI9psZFqnkR8KlQLnYlDE0Z"
    }
    ```

    For more details on fetching the journey state, refer to the [Fetch journey state guide](/docs/go-v1/developer-integration/execute-customer-journeys/fetch-journey-state-step).
  </Step>
</Steps>
