| POST | /v1/authorisation | 
|---|
namespace Mercedes.Auth.API.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
    [<AllowNullLiteral>]
    type AuthorisationResponse() = 
        member val status:String = null with get,set
        member val GasUserId:String = null with get,set
        member val Application:String = null with get,set
        member val Roles:ResizeArray<String> = null with get,set
        member val GSSNRetailerIds:ResizeArray<String> = null with get,set
        member val DefaultGSSNRetailerId:String = null with get,set
        member val DefaultVehicleType:String = null with get,set
        member val DefaultRole:String = null with get,set
        member val DefaultRoleCount:Int32 = new Int32() with get,set
    [<AllowNullLiteral>]
    type Authorisation() = 
        member val GasUserId:String = null with get,set
        member val ApplicationDotRole:ResizeArray<String> = null with get,set
        member val GEMSOutletId:ResizeArray<String> = null with get,set
        member val Application:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/authorisation HTTP/1.1 
Host: prod-api-auth-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
	GasUserId: String,
	ApplicationDotRole: 
	[
		String
	],
	GEMSOutletId: 
	[
		String
	],
	Application: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
	status: String,
	GasUserId: String,
	Application: String,
	Roles: 
	[
		String
	],
	GSSNRetailerIds: 
	[
		String
	],
	DefaultGSSNRetailerId: String,
	DefaultVehicleType: String,
	DefaultRole: String,
	DefaultRoleCount: 0
}