Test

<back to all web services

GetSession

The following routes are available for this service:
All Verbs/session
namespace ServiceStack

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type IAuthTokens = 
        abstract Provider:String with get,set
        abstract UserId:String with get,set
        abstract AccessToken:String with get,set
        abstract AccessTokenSecret:String with get,set
        abstract RefreshToken:String with get,set
        abstract RefreshTokenExpiry:Nullable<DateTime> with get,set
        abstract RequestToken:String with get,set
        abstract RequestTokenSecret:String with get,set
        abstract Items:Dictionary<String, String> with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AuthUserSession() = 
        [<DataMember(Order=1)>]
        member val ReferrerUrl:String = null with get,set

        [<DataMember(Order=2)>]
        member val Id:String = null with get,set

        [<DataMember(Order=3)>]
        member val UserAuthId:String = null with get,set

        [<DataMember(Order=4)>]
        member val UserAuthName:String = null with get,set

        [<DataMember(Order=5)>]
        member val UserName:String = null with get,set

        [<DataMember(Order=6)>]
        member val TwitterUserId:String = null with get,set

        [<DataMember(Order=7)>]
        member val TwitterScreenName:String = null with get,set

        [<DataMember(Order=8)>]
        member val FacebookUserId:String = null with get,set

        [<DataMember(Order=9)>]
        member val FacebookUserName:String = null with get,set

        [<DataMember(Order=10)>]
        member val FirstName:String = null with get,set

        [<DataMember(Order=11)>]
        member val LastName:String = null with get,set

        [<DataMember(Order=12)>]
        member val DisplayName:String = null with get,set

        [<DataMember(Order=13)>]
        member val Company:String = null with get,set

        [<DataMember(Order=14)>]
        member val Email:String = null with get,set

        [<DataMember(Order=15)>]
        member val PrimaryEmail:String = null with get,set

        [<DataMember(Order=16)>]
        member val PhoneNumber:String = null with get,set

        [<DataMember(Order=17)>]
        member val BirthDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=18)>]
        member val BirthDateRaw:String = null with get,set

        [<DataMember(Order=19)>]
        member val Address:String = null with get,set

        [<DataMember(Order=20)>]
        member val Address2:String = null with get,set

        [<DataMember(Order=21)>]
        member val City:String = null with get,set

        [<DataMember(Order=22)>]
        member val State:String = null with get,set

        [<DataMember(Order=23)>]
        member val Country:String = null with get,set

        [<DataMember(Order=24)>]
        member val Culture:String = null with get,set

        [<DataMember(Order=25)>]
        member val FullName:String = null with get,set

        [<DataMember(Order=26)>]
        member val Gender:String = null with get,set

        [<DataMember(Order=27)>]
        member val Language:String = null with get,set

        [<DataMember(Order=28)>]
        member val MailAddress:String = null with get,set

        [<DataMember(Order=29)>]
        member val Nickname:String = null with get,set

        [<DataMember(Order=30)>]
        member val PostalCode:String = null with get,set

        [<DataMember(Order=31)>]
        member val TimeZone:String = null with get,set

        [<DataMember(Order=32)>]
        member val RequestTokenSecret:String = null with get,set

        [<DataMember(Order=33)>]
        member val CreatedAt:DateTime = new DateTime() with get,set

        [<DataMember(Order=34)>]
        member val LastModified:DateTime = new DateTime() with get,set

        [<DataMember(Order=35)>]
        member val Roles:ResizeArray<String> = new ResizeArray<String>() with get,set

        [<DataMember(Order=36)>]
        member val Permissions:ResizeArray<String> = new ResizeArray<String>() with get,set

        [<DataMember(Order=37)>]
        member val IsAuthenticated:Boolean = new Boolean() with get,set

        [<DataMember(Order=38)>]
        member val FromToken:Boolean = new Boolean() with get,set

        [<DataMember(Order=39)>]
        member val ProfileUrl:String = null with get,set

        [<DataMember(Order=40)>]
        member val Sequence:String = null with get,set

        [<DataMember(Order=41)>]
        member val Tag:Int64 = new Int64() with get,set

        [<DataMember(Order=42)>]
        member val AuthProvider:String = null with get,set

        [<DataMember(Order=43)>]
        member val ProviderOAuthAccess:ResizeArray<IAuthTokens> = new ResizeArray<IAuthTokens>() with get,set

        [<DataMember(Order=44)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=45)>]
        member val Audiences:ResizeArray<String> = new ResizeArray<String>() with get,set

        [<DataMember(Order=46)>]
        member val Scopes:ResizeArray<String> = new ResizeArray<String>() with get,set

        [<DataMember(Order=47)>]
        member val Dns:String = null with get,set

        [<DataMember(Order=48)>]
        member val Rsa:String = null with get,set

        [<DataMember(Order=49)>]
        member val Sid:String = null with get,set

        [<DataMember(Order=50)>]
        member val Hash:String = null with get,set

        [<DataMember(Order=51)>]
        member val HomePhone:String = null with get,set

        [<DataMember(Order=52)>]
        member val MobilePhone:String = null with get,set

        [<DataMember(Order=53)>]
        member val Webpage:String = null with get,set

        [<DataMember(Order=54)>]
        member val EmailConfirmed:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember(Order=55)>]
        member val PhoneNumberConfirmed:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember(Order=56)>]
        member val TwoFactorEnabled:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        [<DataMember(Order=57)>]
        member val SecurityStamp:String = null with get,set

        [<DataMember(Order=58)>]
        member val Type:String = null with get,set

        [<DataMember(Order=59)>]
        member val RecoveryToken:String = null with get,set

        [<DataMember(Order=60)>]
        member val RefId:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=61)>]
        member val RefIdStr:String = null with get,set

    [<AllowNullLiteral>]
    type CustomUserSession() = 
        inherit AuthUserSession()
        [<DataMember>]
        member val CustomName:String = null with get,set

        [<DataMember>]
        member val CustomInfo:String = null with get,set

    [<AllowNullLiteral>]
    type UnAuthInfo() = 
        member val CustomInfo:String = null with get,set

    [<AllowNullLiteral>]
    type GetSessionResponse() = 
        member val Result:CustomUserSession = null with get,set
        member val UnAuthInfo:UnAuthInfo = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type GetSession() = 
        class end

F# GetSession DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /session HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	result: 
	{
		customName: String,
		customInfo: String,
		referrerUrl: String,
		id: String,
		userAuthId: String,
		userAuthName: String,
		userName: String,
		twitterUserId: String,
		twitterScreenName: String,
		facebookUserId: String,
		facebookUserName: String,
		firstName: String,
		lastName: String,
		displayName: String,
		company: String,
		email: String,
		primaryEmail: String,
		phoneNumber: String,
		birthDate: 0001-01-01,
		birthDateRaw: String,
		address: String,
		address2: String,
		city: String,
		state: String,
		country: String,
		culture: String,
		fullName: String,
		gender: String,
		language: String,
		mailAddress: String,
		nickname: String,
		postalCode: String,
		timeZone: String,
		requestTokenSecret: String,
		createdAt: 0001-01-01,
		lastModified: 0001-01-01,
		roles: 
		[
			String
		],
		permissions: 
		[
			String
		],
		isAuthenticated: False,
		fromToken: False,
		profileUrl: String,
		sequence: String,
		tag: 0,
		authProvider: String,
		providerOAuthAccess: 
		[
			{
				
			}
		],
		meta: 
		{
			String: String
		},
		audiences: 
		[
			String
		],
		scopes: 
		[
			String
		],
		dns: String,
		rsa: String,
		sid: String,
		hash: String,
		homePhone: String,
		mobilePhone: String,
		webpage: String,
		emailConfirmed: False,
		phoneNumberConfirmed: False,
		twoFactorEnabled: False,
		securityStamp: String,
		type: String,
		recoveryToken: String,
		refId: 0,
		refIdStr: String
	},
	unAuthInfo: 
	{
		customInfo: String
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}