digitaluapi

<back to all web services

ClientRegister

Requires Authentication
Required role:Partner
The following routes are available for this service:
POST/clientregister
namespace digitaluapi.ServiceModel

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

    [<AllowNullLiteral>]
    type UserAuth() = 
        member val Id:Int32 = new Int32() with get,set
        member val UserName:String = null with get,set
        member val Email:String = null with get,set
        member val PrimaryEmail:String = null with get,set
        member val PhoneNumber:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val DisplayName:String = null with get,set
        member val Company:String = null with get,set
        member val BirthDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val BirthDateRaw:String = null with get,set
        member val Address:String = null with get,set
        member val Address2:String = null with get,set
        member val City:String = null with get,set
        member val State:String = null with get,set
        member val Country:String = null with get,set
        member val Culture:String = null with get,set
        member val FullName:String = null with get,set
        member val Gender:String = null with get,set
        member val Language:String = null with get,set
        member val MailAddress:String = null with get,set
        member val Nickname:String = null with get,set
        member val PostalCode:String = null with get,set
        member val TimeZone:String = null with get,set
        member val Salt:String = null with get,set
        member val PasswordHash:String = null with get,set
        member val DigestHa1Hash:String = null with get,set
        member val Roles:ResizeArray<String> = null with get,set
        member val Permissions:ResizeArray<String> = null with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val ModifiedDate:DateTime = new DateTime() with get,set
        member val InvalidLoginAttempts:Int32 = new Int32() with get,set
        member val LastLoginAttempt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val LockedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RecoveryToken:String = null with get,set
        member val RefId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RefIdStr:String = null with get,set
        member val Meta:Dictionary<String, String> = null with get,set

    [<AllowNullLiteral>]
    type ClientRegister() = 
        [<Validate(Validator="Email")>]
        member val EMail:String = null with get,set

        [<Validate(Validator="[NotNull,NotEmpty]")>]
        member val FirstName:String = null with get,set

        [<Validate(Validator="[NotNull,NotEmpty]")>]
        member val LastName:String = null with get,set

        [<Validate(Validator="[NotNull,NotEmpty]")>]
        member val Password:String = null with get,set

        member val ConfirmPassword:String = null with get,set
        [<Validate(Validator="NotNull")>]
        member val Company:String = null with get,set

        member val PartnerUserID:Int32 = new Int32() with get,set
        member val Roles:String[] = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

F# ClientRegister 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 /clientregister HTTP/1.1 
Host: duengageapi.uat.scadsoftware.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	EMail: String,
	FirstName: String,
	LastName: String,
	Password: String,
	ConfirmPassword: String,
	Company: String,
	PartnerUserID: 0,
	Roles: 
	[
		String
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	UserName: String,
	Email: String,
	PrimaryEmail: String,
	PhoneNumber: String,
	FirstName: String,
	LastName: String,
	DisplayName: String,
	Company: 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,
	Salt: String,
	PasswordHash: String,
	DigestHa1Hash: String,
	Roles: 
	[
		String
	],
	Permissions: 
	[
		String
	],
	CreatedDate: 0001-01-01,
	ModifiedDate: 0001-01-01,
	InvalidLoginAttempts: 0,
	LastLoginAttempt: 0001-01-01,
	LockedDate: 0001-01-01,
	RecoveryToken: String,
	RefId: 0,
	RefIdStr: String,
	Meta: 
	{
		String: String
	}
}