TrustID API Logo
  • Getting Started with the API
  • Fundamentals
    • Introducing the Raw API
      • Supported Platforms
      • TrustID Cloud Endpoint Address
      • Testing the Raw API
      • Request Message
      • Response Message
      • Error Response
      • Unique Identifiers
      • JSON Date Format
    • Introducing the JavaScript API
      • Supported Platforms
      • API Object
      • Promises
      • Error Response
      • Node.js
      • React Native
    • Applications, Documents and Images
      • Working with Applications
        • Accessing Documents (Javascript only)
        • Application-level Custom Fields
        • Document Container Validation List
      • Working with Documents
        • Document Fields
        • Document Properties
        • Document Type
        • Document Name
        • Issuing Country and Nationality
        • Machine-Readable Zone (MRZ)
        • Document Feedback Properties
        • Document-level Custom Fields
      • Working with Images
        • Image Metadata
        • Image Types
    • Webhook Fundamentals
      • Supported Webhook events
      • Specifying your Webhook address
      • Webhook Payload
      • Understanding Callback Context
      • Webhook Retries
  • Using the API to Submit Applications and Receive Results
    • Workflow Overview
    • Submitting a New Application
      • Flow Diagram
      • Creating a New (Empty) Application
      • Application-level Custom Fields
      • Adding an IDV / Address Check
      • Checking a Physical Document
        • Creating a New Document
        • Creating a New Document With Person Matches Result
        • Creating a New Document With Custom Fields
        • Creating a New Supporting Document
        • Uploading Document Image Data
        • Uploading Document Image Data Re-Tries
      • Checking an Online Check Document
        • Creating a New (Empty) Application with a Custom Company Name
        • Creating a New Online Check Document
        • Triggering the Remote Download of Online Check
        • Download Photo From Online Check
      • Checking an Online Right To Rent Check Document
        • Creating a New (Empty) Application including RTR Agent Name
        • Creating a New Online RTR Check Document
        • Triggering the Remote Download of Online RTR Check
        • Download Photo From Online RTR Check
      • Uploading an Applicant Photo
      • Publishing an Application
    • Result Notification Webhook Callback
    • Authentication
      • Device Identifier (Raw API only)
      • Session Identifier (Raw API only)
      • Login
      • Login Response
        • User Information
        • Configuration
        • API Versions
        • VpeName
      • Password Reset
      • Change Password
      • Logout
      • Image Resources
      • Cross Origin Resource Sharing (CORS)
    • Retrieving Content
      • Retrieving Applications
      • Retrieving Documents
      • Retrieving Image Data
      • PDF Report
      • Retrieving Branches
    • Interpreting Results
      • Application-level Data
        • Ownership (Raw API Only)
        • Timestamps (Raw API Only)
        • Overall Status
        • Liveness Test Result
        • Right to Work - Full Check
        • Right to Work - Conditional
        • Republic of Ireland Right to Work
        • KycAml Result
        • Digital Identification Scheme Result
        • DBS Result
      • Interpreting DBS Status Results
      • Document Level Data
        • Document Type
        • Document Validation Status
        • Document Operator Status
        • Document Auditor Status
        • Document Assessment Feedback Messages
        • Machine-Readable Zone (MRZ)
        • Document Fraud Analysis
    • Container Modified Post Result Webhook Callback
  • Using the API to Receive Results
    • Workflow Overview
    • Container Submitted Webhook Callback
    • Result Notification Webhook Callback
    • Authentication
      • Device Identifier (Raw API only)
      • Session Identifier (Raw API only)
      • Login
      • Login Response
        • User Information
        • Configuration
        • API Versions
        • VpeName
      • Password Reset
      • Change Password
      • Logout
      • Image Resources
      • Cross Origin Resource Sharing (CORS)
    • Retrieving Content
      • Retrieving Applications
      • Retrieving Documents
      • Retrieving Image Data
      • PDF Report
      • Retrieving Branches
    • Interpreting Results
      • Application-level Data
        • Ownership (Raw API Only)
        • Timestamps (Raw API Only)
        • Overall Status
        • Liveness Test Result
        • Right to Work - Full Check
        • Right to Work - Conditional
        • Republic of Ireland Right to Work
        • KycAml Result
        • Digital Identification Scheme Result
        • DBS Result
      • Interpreting DBS Status Results
      • Document Level Data
        • Document Type
        • Document Validation Status
        • Document Operator Status
        • Document Auditor Status
        • Document Assessment Feedback Messages
        • Machine-Readable Zone (MRZ)
        • Document Fraud Analysis
    • Container Modified Post Result Webhook Callback
  • Using the API to Create Queued Applications and Receive Results
    • Workflow Overview
    • Queued Applications
      • Creating a New Queued Application
      • Using Application-level Custom Fields
      • Using Callback Properties Creating a Queued Application
    • Container Submitted Webhook Callback
    • Result Notification Webhook Callback
    • Authentication
      • Device Identifier (Raw API only)
      • Session Identifier (Raw API only)
      • Login
      • Login Response
        • User Information
        • Configuration
        • API Versions
        • VpeName
      • Password Reset
      • Change Password
      • Logout
      • Image Resources
      • Cross Origin Resource Sharing (CORS)
    • Retrieving Content
      • Retrieving Applications
      • Retrieving Documents
      • Retrieving Image Data
      • PDF Report
      • Retrieving Branches
    • Interpreting Results
      • Application-level Data
        • Ownership (Raw API Only)
        • Timestamps (Raw API Only)
        • Overall Status
        • Liveness Test Result
        • Right to Work - Full Check
        • Right to Work - Conditional
        • Republic of Ireland Right to Work
        • KycAml Result
        • Digital Identification Scheme Result
        • DBS Result
      • Interpreting DBS Status Results
      • Document Level Data
        • Document Type
        • Document Validation Status
        • Document Operator Status
        • Document Auditor Status
        • Document Assessment Feedback Messages
        • Machine-Readable Zone (MRZ)
        • Document Fraud Analysis
    • Container Modified Post Result Webhook Callback
  • Using the API to Create Guest Links and Receive Results
    • Workflow Overview
    • Guest Links
      • Creating a Guest Link
      • Using Application-level Custom Fields
      • Using Callback Properties Creating a Guest Link
      • Using Digital Identity Property
      • Using Right To Rent Digital Identity with RTR Share Code
      • Using a Custom Company Name with RTW Share Code
    • Container Submitted Webhook Callback
    • Result Notification Webhook Callback
    • Authentication
      • Device Identifier (Raw API only)
      • Session Identifier (Raw API only)
      • Login
      • Login Response
        • User Information
        • Configuration
        • API Versions
        • VpeName
      • Password Reset
      • Change Password
      • Logout
      • Image Resources
      • Cross Origin Resource Sharing (CORS)
    • Retrieving Content
      • Retrieving Applications
      • Retrieving Documents
      • Retrieving Image Data
      • PDF Report
      • Retrieving Branches
    • Interpreting Results
      • Application-level Data
        • Ownership (Raw API Only)
        • Timestamps (Raw API Only)
        • Overall Status
        • Liveness Test Result
        • Right to Work - Full Check
        • Right to Work - Conditional
        • Republic of Ireland Right to Work
        • KycAml Result
        • Digital Identification Scheme Result
        • DBS Result
      • Interpreting DBS Status Results
      • Document Level Data
        • Document Type
        • Document Validation Status
        • Document Operator Status
        • Document Auditor Status
        • Document Assessment Feedback Messages
        • Machine-Readable Zone (MRZ)
        • Document Fraud Analysis
    • Container Modified Post Result Webhook Callback
  • Using the API to Initiate DBS check
    • Workflow Overview
    • Retrieving the DBS Form
    • Editing the DBS Application
    • Initiating the DBS Application
      • Initiating the Basic DBS Application
      • Initiating the Standard or Enhanced DBS Application
      • DBS Result
      • Interpreting DBS Status Results
  • Archive
    • Quick Query Filter
    • Date Range Filter
    • Operator Filter
    • Additional Filters
    • Result Sorting
    • Query Pagination
    • Pagination Support
    • Querying Containers
    • Querying using application-level custom fields
  • Reference
    • Raw API Reference
      • Endpoint Reference
        • /dataAccess/advancedQuery/
        • /dataAccess/applicationFlexibleFieldAttributes/
        • /dataAccess/archiveContainerQuery/
        • /dataAccess/archiveDocumentContainer/
        • /dataAccess/createDocumentContainer/
        • /dataAccess/createQueuedDocumentContainer/
        • /dataAccess/createDocument/
        • /guestLink/createGuestLink/
        • /dataAccess/customFields/
        • /dataAccess/deleteDocumentContainerSet/
        • /dataAccess/downloadOnlineCheck/
        • /dataAccess/downloadPDF/
        • /dataAccess/exportPDF/
        • /dataAccess/getDocumentTypeChargeStatuses/
        • /dataAccess/image/
        • /dataAccess/initiateBasicDbsCheck/
        • /dataAccess/initiateStandardOrEnhancedDbsCheck/
        • /dataAccess/retrieveDBSForm/
        • /dataAccess/updateDBSForm/
        • /dataAccess/publishDocumentContainer/
        • /dataAccess/queryBranchesX/
        • /dataAccess/retrieveDocumentContainer/
        • /dataAccess/retrieveDocument/
        • /dataAccess/retrieveImage/
        • /dataAccess/updateDocumentContainer/
        • /dataAccess/uploadApplicantPhoto/
        • /dataAccess/uploadImage/
        • /kdb/getCountries/
        • /session/testConnection/
        • /session/login/
        • /session/logout/
        • /session/changePassword/
      • Model Reference
        • AccessLock
        • AdvancedQueryArguments
        • ApplicationFlexibleField
        • ApplicationFlexibleFieldAttribute
        • ApplicationFlexibleFieldList
        • ApplicationFlexibleFieldValue
        • Branch
        • CallbackInfo
        • CallbackState
        • ChargeableStatus
        • Configuration
        • Container
        • CustomField
        • CustomFieldDataType
        • Document
        • DocumentConfiguration
        • DocumentContainerValidation
        • DocumentContainerField
        • DocumentContainerValidationOutcome
        • DbsForm
        • DigitalIdentificationScheme
        • DocumentFeatureFeedback
        • DocumentFeedback
        • DocumentField
        • DocumentFieldDataType
        • DocumentFieldSource
        • DocumentSource
        • DocumentSortingColumn
        • DocumentStatus
        • DocumentStorageType
        • DocumentType
        • DocumentTypeChargeStatus
        • DocumentValidation
        • DocumentValidationResult
        • EstablishedDocumentData
        • ExternalServiceData
        • FilterDateOption
        • FlexibleFieldDataType
        • FlexibleFieldSearchSpecification
        • FlexibleFieldSpecificationSearchOperator
        • Gender
        • Image
        • ImageType
        • ImageOrientation
        • KDBCountry
        • KDBDocumentNumber
        • KDBDocumentSubType
        • KDBFeatureType
        • LivenessResultType
        • MrzQueryOption
        • OcrCoordinates
        • OcrField
        • OcrFieldData
        • Organisation
        • OverallStatus
        • ReferralHistoryRecord
        • ReferralType
        • ReviewApplicationState
        • RemainingCredits
        • SortingDirection
        • User
        • UserArchiveVisibility
        • UserReference
        • WebhookResponse
        • WorkflowType
    • Javascript API Reference
      • Class Api
        • Error Responses
        • Methods
      • Class ApplicationFlexibleField
      • Class ApplicationFlexibleFieldValue
      • Class Branch
      • Class Config
      • Class Container
      • Class CustomField
      • Class Document
      • Class DocumentSortingColumn
      • Class DocumentTypeChargeStatus
      • Class FeedbackProperty
      • Class Image
      • Class ModelBase
      • Class Organisation
      • Class RemainingCredits
      • Class SortingDirection
      • Class User
TrustID API
  • Using the API to Create Guest Links and Receive Results
  • Guest Links

Guest Links

This feature allows a user to generate an invitation link that can be sent to someone who does not have a TrustID Cloud account. This allows the recipient (the guest) to submit one application under the link creator’s account. This is useful for systems that request a third party to perform a one-off scan but do not want to give them an account.

An example might be a landlord who wants a new tenant to upload their ID document for validation as part of a “Right to Rent” check.

The link allows only for uploading of the scan. The guest user themselves will never be able to see the result of the scan.

When you create a guest link you must :

  • Specify the email address that the invitation will be sent to. This information will be attached to the application when it is submitted by the guest, for future reference.

  • Specify the name of the guest you are sending the invitation to. This information will be attached to the application when it is submitted by the guest, for future reference.

  • Specify any mandatory application-level custom field values.

When you create a guest link you will probably want to:

  • Specify the branch the scan will be assigned to. If you do not specify a branch the scan is assigned to the branch of the account you use to create the guest link.

  • Specify values for any optional application-level custom fields.

Note

Please contact TrustID if you need additional application-level custom fields or branches added to your account.

Creating a Guest Link

Create a guest link as shown below:

Request

POST {{server}}/VPE/guestLink/createGuestLink/
Content-Type: application/json
Tid-Api-Key: xxx-xxx-xx
{
    "SessionId": "...",
    "DeviceId": "device-id",
    "Email": "guest@domain.co.uk",
    "Name": "Guest Name",
    "BranchId": "..."
}

For endpoint details, see /guestLink/createGuestLink/.

var api = new TVS.Api();
api.login('username', 'password').then(function(loginInfo) {

      // get all branches available
      return api.getBranchesX();
}).then(function(branches) {

      //Use first branch in list as example.
      var branchId = branches[0].Id;

      //Now create the guest link
      return api.createGuestLink('guest@domain.co.uk', 'Guest Name', branchId);
});

For endpoint details, see Api.createGuestLink.

An email will be sent to the guest containing a link for them to use to submit their application. Optionally, you can specify that you do not want this email to be sent by the system. In this case the guest link URL is returned to you and it is your responsibility to pass it on to the guest.

See also

Raw API - CreateGuestLinkRequest.SendEmail.

Javascript API - the sendEmail parameter of createGuestLink().

Note

Retrieving Branches shows how to use the API to retrieve a list of possible branch Ids.

Using Application-level Custom Fields

When you create a guest link, you must specify custom fields at application-level.

For information on how to obtain a list of custom fields at application-level and how to construct data to send, see Application-level Custom Fields. The final request should look something like this:

Request

POST {{server}}/VPE/guestLink/createGuestLink/
Content-Type: application/json
Tid-Api-Key: xxx-xxx-xx
{
    "SessionId": "...",
    "DeviceId": "...",
    "Email": "guest@domain.co.uk",
    "Name": "Guest Name",
    "BranchId": "..."
    "ApplicationFlexibleFieldValues": [
        {
            "FlexibleFieldVersionId": "...",
            "FieldValueString": "Software Development and IT Department"
        }
    ]
}

For endpoint details, see /guestLink/createGuestLink/.

var api = new TVS.Api();
api.login('username', 'password').then(function(loginInfo) {

      // get all available branches
      return api.getBranchesX();
}).then(function(branches) {

      //Use first branch in list as example.
      var branchId = branches[0].Id;

      // get application-level custom fields available in the system for required branch

      return api.getApplicationFlexibleFieldsForBranch(branchId);
}).then(function(flexibleFields) {

      // create a new (empty) container with application-level custom fields attached,
      // assuming a field with the name 'ApplicantId' exists
      var customFields = Container.createCustomFields(flexibleFields, {
        'ApplicantId': '123456'
      })
      //Now create the guest link
      return api.createGuestLink('guest@domain.co.uk', 'Guest Name', branchId, customFields);

});

For endpoint details, see Api.createGuestLink.

Using Callback Properties Creating a Guest Link

When you create a guest link, you can specify callback properties to be able to receive callback at certain event within a guest link workflow.

You can specify ContainerEventCallbackUrl to link guest link with callback url and you can specify ContainerEventCallbackHeaders used by callback, request should look something like this:

Request

POST http://localhost:8000/VPE/guestLink/createGuestLink/
Content-Type: application/json
Tid-Api-Key: xxx-xxx-xx
{
    "SessionId": "...",
    "DeviceId": "...",
    "Email": "guest@domain.co.uk",
    "Name": "Guest Name",
    "BranchId": "..."
    "ApplicationFlexibleFieldValues": [
        {
            "FlexibleFieldVersionId": "...",
            "FieldValueString": "Software Development and IT Department"
        }
    ],
    "ContainerEventCallbackUrl": "https://www.my-company.co.uk/web-hooks/container-event-callback/",
    "ContainerEventCallbackHeaders"::[
        {
            "Header":"Authorization",
            "Value":"..."
        }
    ],
    "ClientApplicationReference": "MyReference"
}

For endpoint details, see /guestLink/createGuestLink/.

var api = new TVS.Api();
api.login('username', 'password').then(function(loginInfo) {

      // get all available branches
      return api.getBranchesX();
}).then(function(branches) {

      //Use first branch in list as example.
      var branchId = branches[0].Id;

      // get application-level custom fields available in the system for required branch

      return api.getApplicationFlexibleFieldsForBranch(branchId);
}).then(function(flexibleFields) {

      // create a new (empty) container with application-level custom fields attached,
      // assuming a field with the name 'ApplicantId' exists
      var customFields = Container.createCustomFields(flexibleFields, {
        'ApplicantId': '123456'
      })
      //Now create the guest link
      return api.createGuestLink('guest@domain.co.uk', 'Guest Name', branchId, customFields, null, null, true, 0, 'MyReference', 0, 'https://www.my-company.co.uk/web-hooks/container-event-callback/');

});

Using Digital Identity Property

When you create a guest link, you can specify digital identity scheme property.

You can specify DigitalIdentityScheme property to achieve identity profile, request should look something like this:

Request

POST http://localhost:8000/VPE/guestLink/createGuestLink/
Content-Type: application/json
Tid-Api-Key: xxx-xxx-xx
{
    "SessionId": "...",
    "DeviceId": "...",
    "Email": "guest@domain.co.uk",
    "Name": "Guest Name",
    "BranchId": "..."
    "ApplicationFlexibleFieldValues": [
        {
            "FlexibleFieldVersionId": "...",
            "FieldValueString": "Software Development and IT Department"
        }
    ],
    "ContainerEventCallbackUrl": "https://www.my-company.co.uk/web-hooks/container-event-callback/",
    "ContainerEventCallbackHeaders"::[
        {
            "Header":"Authorization",
            "Value":"..."
        }
    ],
    "ClientApplicationReference": "MyReference",
    "DigitalIdentityScheme": 2
}

For endpoint details, see /guestLink/createGuestLink/.

var api = new TVS.Api();
api.login('username', 'password').then(function(loginInfo) {

      // get all available branches
      return api.getBranchesX();
}).then(function(branches) {

      //Use first branch in list as example.
      var branchId = branches[0].Id;

      // get application-level custom fields available in the system for required branch

      return api.getApplicationFlexibleFieldsForBranch(branchId);
}).then(function(flexibleFields) {

      // create a new (empty) container with application-level custom fields attached,
      // assuming a field with the name 'ApplicantId' exists
      var customFields = Container.createCustomFields(flexibleFields, {
        'ApplicantId': '123456'
      })
      //Now create the guest link
      return api.createGuestLink('guest@domain.co.uk', 'Guest Name', branchId, customFields, null, null, true, 0, 'MyReference', 2, 'https://www.my-company.co.uk/web-hooks/container-event-callback/');

});

For endpoint details, see Api.createGuestLink.

Using Right To Rent Digital Identity with RTR Share Code

When you create a guest link for Right to Rent digital identity scheme with RTR Online Share Code option you need to specify:

  • A DigitalIdentityScheme (1 for Right To Rent) property, to achieve identity profile.

  • A RTR Agent Name which will be used when downloading a RTR Online Share Code document.

Here is an example request for this scenario:

Request

POST http://localhost:8000/VPE/guestLink/createGuestLink/
Content-Type: application/json
Tid-Api-Key: xxx-xxx-xx
{
    "SessionId": "...",
    "DeviceId": "...",
    "Email": "guest@domain.co.uk",
    "Name": "Guest Name",
    "BranchId": "..."
    "ApplicationFlexibleFieldValues": [
        {
            "FlexibleFieldVersionId": "...",
            "FieldValueString": "Software Development and IT Department"
        }
    ],
    "ContainerEventCallbackUrl": "https://www.my-company.co.uk/web-hooks/container-event-callback/",
    "ContainerEventCallbackHeaders"::[
        {
            "Header":"Authorization",
            "Value":"..."
        }
    ],
    "ClientApplicationReference": "MyReference",
    "DigitalIdentityScheme": 1,
    "RTRAgentName":"Agent Name"
}

For endpoint details, see /guestLink/createGuestLink/.

var api = new TVS.Api();
api.login('username', 'password').then(function(loginInfo) {

      // get all available branches
      return api.getBranchesX();
}).then(function(branches) {

      //Use first branch in list as example.
      var branchId = branches[0].Id;

      // get application-level custom fields available in the system for required branch

      return api.getApplicationFlexibleFieldsForBranch(branchId);
}).then(function(flexibleFields) {

      // create a new (empty) container with application-level custom fields attached,
      // assuming a field with the name 'ApplicantId' exists
      var customFields = Container.createCustomFields(flexibleFields, {
        'ApplicantId': '123456'
      })
      //Now create the guest link
      return api.createGuestLink('guest@domain.co.uk', 'Guest Name', branchId, customFields, null, null, true, 0, 'MyReference'
      ,1 // Digital Identification Scheme - RTR
      ,'Agent Name' //RTR Agent Name
      ,'https://www.my-company.co.uk/web-hooks/container-event-callback/');

});

For endpoint details, see Api.createGuestLink.

Using a Custom Company Name with RTW Share Code

When you create a guest link for Right to Work digital identity scheme with RTW Online Share Code option you can specify a custom company name to appear on the sharecode document. To do this you need to specify:

  • An RTWCompanyName which will be used when downloading an RTW Online Share Code document.

Here is an example request for this scenario:

Request

POST http://localhost:8000/VPE/guestLink/createGuestLink/
Content-Type: application/json
Tid-Api-Key: xxx-xxx-xx
{
    "SessionId": "...",
    "DeviceId": "...",
    "Email": "guest@domain.co.uk",
    "Name": "Guest Name",
    "BranchId": "..."
    "ApplicationFlexibleFieldValues": [
        {
            "FlexibleFieldVersionId": "...",
            "FieldValueString": "Software Development and IT Department"
        }
    ],
    "ContainerEventCallbackUrl": "https://www.my-company.co.uk/web-hooks/container-event-callback/",
    "ContainerEventCallbackHeaders"::[
        {
            "Header":"Authorization",
            "Value":"..."
        }
    ],
    "ClientApplicationReference": "MyReference",
    "RTWCompanyName":"Custom Company Name"
}

For endpoint details, see /guestLink/createGuestLink/.

var api = new TVS.Api();
api.login('username', 'password').then(function(loginInfo) {

      // get all available branches
      return api.getBranchesX();
}).then(function(branches) {

      //Use first branch in list as example.
      var branchId = branches[0].Id;

      // get application-level custom fields available in the system for required branch

      return api.getApplicationFlexibleFieldsForBranch(branchId);
}).then(function(flexibleFields) {

      // create a new (empty) container with application-level custom fields attached,
      // assuming a field with the name 'ApplicantId' exists
      var customFields = Container.createCustomFields(flexibleFields, {
        'ApplicantId': '123456'
      })
      //Now create the guest link
      return api.createGuestLink('guest@domain.co.uk', 'Guest Name', branchId, customFields, null, null, true, 0, 'MyReference'
      ,0 // Digital Identification Scheme - RTW
      ,'' // This is left blank
      ,'Custom company' //Custom Company Name
      ,'https://www.my-company.co.uk/web-hooks/container-event-callback/');

});

For endpoint details, see Api.createGuestLink.

Previous Next

© Copyright 2026, TrustID.

Built with Sphinx using a theme provided by Read the Docs.