namespace IDB.API.DTO.Workflow
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
    [<AllowNullLiteral>]
    type WorkflowTaskAction() = 
        member val ID:Int32 = new Int32() with get,set
        member val Title:String = null with get,set
        member val Type:String = null with get,set
        member val UseDialog:Boolean = new Boolean() with get,set
        member val ConnectionID:Guid = new Guid() with get,set
    [<DataContract>]
    [<AllowNullLiteral>]
    type WorkflowTask() = 
        [<DataMember>]
        member val ID:Int32 = new Int32() with get,set
        [<DataMember>]
        member val DocumentID:Guid = new Guid() with get,set
        [<DataMember>]
        member val Title:String = null with get,set
        [<DataMember>]
        member val Description:String = null with get,set
        [<DataMember>]
        member val ContextTitle:String = null with get,set
        [<DataMember>]
        member val Project:String = null with get,set
        [<DataMember>]
        member val Relation:String = null with get,set
        [<DataMember>]
        member val ImageKey:String = null with get,set
        [<DataMember>]
        member val Urgent:Boolean = new Boolean() with get,set
        [<DataMember>]
        member val IsRead:Boolean = new Boolean() with get,set
        [<DataMember>]
        member val AssignmentDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        [<DataMember>]
        member val CompletionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        [<DataMember>]
        member val NumberOfComments:Int32 = new Int32() with get,set
        [<DataMember>]
        member val ExtraField:String = null with get,set
        [<DataMember>]
        member val HasPreview:Boolean = new Boolean() with get,set
        [<DataMember>]
        member val Extension:String = null with get,set
        [<DataMember>]
        member val IsInformative:Boolean = new Boolean() with get,set
        [<DataMember>]
        member val HasPendingSideSteps:Boolean = new Boolean() with get,set
        [<DataMember>]
        member val Actions:ResizeArray<WorkflowTaskAction> = new ResizeArray<WorkflowTaskAction>() with get,set
        [<DataMember>]
        member val CanAccept:Boolean = new Boolean() with get,set
    [<AllowNullLiteral>]
    type GetWorkflowTask() = 
        member val ID:Int32 = new Int32() with get,set
        member val Version:Int32 = new Int32() 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 /jsv/reply/GetWorkflowTask HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
	ID: 0,
	Version: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
	ID: 0,
	Title: String,
	Description: String,
	ContextTitle: String,
	Project: String,
	Relation: String,
	ImageKey: String,
	Urgent: False,
	IsRead: False,
	AssignmentDate: 0001-01-01,
	CompletionDate: 0001-01-01,
	NumberOfComments: 0,
	ExtraField: String,
	HasPreview: False,
	Extension: String,
	IsInformative: False,
	HasPendingSideSteps: False,
	Actions: 
	[
		{
			ID: 0,
			Title: String,
			Type: String,
			UseDialog: False
		}
	],
	CanAccept: False
}