| All Verbs | /channels/{Channel}/chat | 
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Test.ServiceInterface
Namespace Global
    Namespace Test.ServiceInterface
        Public Partial Class ChatMessage
            Public Overridable Property Id As Long
            Public Overridable Property Channel As String
            Public Overridable Property FromUserId As String
            Public Overridable Property FromName As String
            Public Overridable Property DisplayName As String
            Public Overridable Property Message As String
            Public Overridable Property UserAuthId As String
            Public Overridable Property [Private] As Boolean
        End Class
        Public Partial Class PostChatToChannel
            Public Overridable Property From As String
            Public Overridable Property ToUserId As String
            Public Overridable Property Channel As String
            Public Overridable Property Message As String
            Public Overridable Property Selector As String
        End Class
    End Namespace
End Namespace
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 /channels/{Channel}/chat HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
	from: String,
	toUserId: String,
	channel: String,
	message: String,
	selector: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
	id: 0,
	channel: String,
	fromUserId: String,
	fromName: String,
	displayName: String,
	message: String,
	userAuthId: String,
	private: False
}