POST Users/ValidateAppAccountLinkCode/{code}?deviceToken={deviceToken}
validate an app-account link code. The code should be provided by a user. If the code is valid, an AuthenticatedUser will be created for the user who provided the code. The Authentication Token there should be used by other APIs that need it. This is an alternative way for a user to authenticate with SMG if they don't have or want to use a username/password.
Request Information
URI Parameters
Name | Description | Type | Additional information |
---|---|---|---|
code |
The app account link code |
string |
Required |
deviceToken |
Optional device token identifer for sending push notifications |
string |
Body Parameters
None.
Response Information
Resource Description
Smg.RestApi.Model.Users.AppAccountLinkResponseresponse to the /Users/ValidateAppAccountLinkCode API
Response Formats
application/json, text/json
Sample:
{ "AuthenticatedUser": { "AuthenticationToken": "sample string 1", "AuthenticationTokenCreated": "2025-05-06T04:51:54.589631-05:00", "AuthenticationTokenExpires": "2025-05-06T04:51:54.589631-05:00", "Id": 4, "Username": "sample string 5", "DisplayName": "sample string 6", "EmailAddress": "sample string 7", "Tasks": [ "sample string 1", "sample string 2" ], "Projects": [ { "Id": 1, "ProjectDefinedId": "sample string 2", "ProjectName": "sample string 3", "AccessLevel": "sample string 4", "Languages": [ { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" }, { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" } ], "ReportingGroups": [ { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true }, { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true } ], "UnitCount": 5 }, { "Id": 1, "ProjectDefinedId": "sample string 2", "ProjectName": "sample string 3", "AccessLevel": "sample string 4", "Languages": [ { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" }, { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" } ], "ReportingGroups": [ { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true }, { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true } ], "UnitCount": 5 } ], "UnauthorizedProjects": [ { "Id": 1, "ProjectDefinedId": "sample string 2", "ProjectName": "sample string 3", "AccessLevel": "sample string 4", "Languages": [ { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" }, { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" } ], "ReportingGroups": [ { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true }, { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true } ], "UnitCount": 5 }, { "Id": 1, "ProjectDefinedId": "sample string 2", "ProjectName": "sample string 3", "AccessLevel": "sample string 4", "Languages": [ { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" }, { "LanguageId": 1, "Name": "sample string 2", "Description": "sample string 3", "IsLTR": true, "ISOCode": "sample string 5" } ], "ReportingGroups": [ { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true }, { "GroupName": "sample string 1", "QuickscoreCount": 2, "HasQuickscores": true } ], "UnitCount": 5 } ], "RequiresPasswordUpdate": true, "RequiresSecurePassword": true }, "IsValid": true }
application/xml, text/xml
Sample:
<AppAccountLinkResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Smg.RestApi.Model.Users"> <AuthenticatedUser> <DisplayName>sample string 6</DisplayName> <EmailAddress>sample string 7</EmailAddress> <Id>4</Id> <Projects xmlns:d3p1="http://schemas.datacontract.org/2004/07/Smg.RestApi.Model"> <d3p1:Project> <d3p1:AccessLevel>sample string 4</d3p1:AccessLevel> <d3p1:Id>1</d3p1:Id> <d3p1:Languages> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> </d3p1:Languages> <d3p1:ProjectDefinedId>sample string 2</d3p1:ProjectDefinedId> <d3p1:ProjectName>sample string 3</d3p1:ProjectName> <d3p1:ReportingGroups> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> </d3p1:ReportingGroups> <d3p1:UnitCount>5</d3p1:UnitCount> </d3p1:Project> <d3p1:Project> <d3p1:AccessLevel>sample string 4</d3p1:AccessLevel> <d3p1:Id>1</d3p1:Id> <d3p1:Languages> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> </d3p1:Languages> <d3p1:ProjectDefinedId>sample string 2</d3p1:ProjectDefinedId> <d3p1:ProjectName>sample string 3</d3p1:ProjectName> <d3p1:ReportingGroups> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> </d3p1:ReportingGroups> <d3p1:UnitCount>5</d3p1:UnitCount> </d3p1:Project> </Projects> <RequiresPasswordUpdate>true</RequiresPasswordUpdate> <RequiresSecurePassword>true</RequiresSecurePassword> <Tasks xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:string>sample string 1</d3p1:string> <d3p1:string>sample string 2</d3p1:string> </Tasks> <UnauthorizedProjects xmlns:d3p1="http://schemas.datacontract.org/2004/07/Smg.RestApi.Model"> <d3p1:Project> <d3p1:AccessLevel>sample string 4</d3p1:AccessLevel> <d3p1:Id>1</d3p1:Id> <d3p1:Languages> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> </d3p1:Languages> <d3p1:ProjectDefinedId>sample string 2</d3p1:ProjectDefinedId> <d3p1:ProjectName>sample string 3</d3p1:ProjectName> <d3p1:ReportingGroups> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> </d3p1:ReportingGroups> <d3p1:UnitCount>5</d3p1:UnitCount> </d3p1:Project> <d3p1:Project> <d3p1:AccessLevel>sample string 4</d3p1:AccessLevel> <d3p1:Id>1</d3p1:Id> <d3p1:Languages> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> <d3p1:Language> <d3p1:Description>sample string 3</d3p1:Description> <d3p1:ISOCode>sample string 5</d3p1:ISOCode> <d3p1:IsLTR>true</d3p1:IsLTR> <d3p1:LanguageId>1</d3p1:LanguageId> <d3p1:Name>sample string 2</d3p1:Name> </d3p1:Language> </d3p1:Languages> <d3p1:ProjectDefinedId>sample string 2</d3p1:ProjectDefinedId> <d3p1:ProjectName>sample string 3</d3p1:ProjectName> <d3p1:ReportingGroups> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> <d3p1:ReportingGroup> <d3p1:GroupName>sample string 1</d3p1:GroupName> <d3p1:HasQuickscores>true</d3p1:HasQuickscores> <d3p1:QuickscoreCount>2</d3p1:QuickscoreCount> </d3p1:ReportingGroup> </d3p1:ReportingGroups> <d3p1:UnitCount>5</d3p1:UnitCount> </d3p1:Project> </UnauthorizedProjects> <Username>sample string 5</Username> <AuthenticationToken>sample string 1</AuthenticationToken> <AuthenticationTokenCreated>2025-05-06T04:51:54.589631-05:00</AuthenticationTokenCreated> <AuthenticationTokenExpires>2025-05-06T04:51:54.589631-05:00</AuthenticationTokenExpires> </AuthenticatedUser> <IsValid>true</IsValid> </AppAccountLinkResponse>