| PUT | /tracks/{TrackId} | 
|---|
// @DataContract
export class IdResponse
{
    // @DataMember(Order=1)
    public id: string;
    // @DataMember(Order=2)
    public responseStatus: ResponseStatus;
    public constructor(init?: Partial<IdResponse>) { (Object as any).assign(this, init); }
}
export class UpdateTracks implements IPut, IUpdateDb<Tracks>
{
    public trackId: number;
    public name: string;
    public albumId?: number;
    public mediaTypeId: number;
    public genreId?: number;
    public composer: string;
    public milliseconds: number;
    public bytes?: number;
    public unitPrice: number;
    public constructor(init?: Partial<UpdateTracks>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /tracks/{TrackId} HTTP/1.1 
Host: blazor-gallery.servicestack.net 
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"trackId":0,"name":"String","albumId":0,"mediaTypeId":0,"genreId":0,"composer":"String","milliseconds":0,"bytes":0,"unitPrice":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"id":"String","responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}