| PUT | /Key | ||
|---|---|---|---|
| PUT | /Key/{Id} | ||
| GET POST | /UpdateKey | ||
| GET POST | /UpdateKey/{Id} | 
import Foundation
import ServiceStack
// @DataContract
public class UpdateKey : Codable
{
    // @DataMember
    public var id:String
    // @DataMember
    public var name:String
    // @DataMember
    public var serialNumber:String
    // @DataMember
    public var keyValid:String
    // @DataMember
    public var keyExpire:String
    // @DataMember
    public var isAdmin:Bool?
    // @DataMember
    public var companyName:String
    // @DataMember
    public var email:String
    // @DataMember
    public var mobile:String
    // @DataMember
    public var phone:String
    // @DataMember
    public var note:String
    // @DataMember
    public var expirationDate:Date?
    // @DataMember
    public var employeeNumber:String
    // @DataMember
    public var clear:Bool?
    // @DataMember
    public var addUnits:[String]
    // @DataMember
    public var removeUnits:[String]
    // @DataMember
    public var addGroups:[String]
    // @DataMember
    public var removeGroups:[String]
    required public init(){}
}
// @DataContract
public class UpdateKeyResponse : Codable
{
    // @DataMember
    public var responseStatus:ResponseStatus
    required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /UpdateKey HTTP/1.1 
Host: api.trackunit.com 
Accept: application/json
Content-Type: application/json
Content-Length: length
{"id":"String","name":"String","serialNumber":"String","keyValid":"String","keyExpire":"String","isAdmin":false,"companyName":"String","email":"String","mobile":"String","phone":"String","note":"String","expirationDate":"0001-01-01T00:00:00.0000000Z","employeeNumber":"String","clear":false,"addUnits":["String"],"removeUnits":["String"],"addGroups":["String"],"removeGroups":["String"]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}