| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /tags/{Id} | Update a tag | Replaces the editable fields of a tag. Name is required; Color, SortOrder, and Active default to null/0/true when omitted. Scope cannot be changed because it would orphan existing tag relations. |
|---|
import Foundation
import ServiceStack
// @ApiResponse(Description="Returned if Name is missing or there is another validation error on the input parameters", StatusCode=400)
// @ApiResponse(Description="Returned if renaming the tag would clash with another tag of the same scope", StatusCode=409)
// @ApiResponse(Description="Returned if the tag was not found", StatusCode=404)
// @ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
public class UpdateTag : ICompany, Codable
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public var companyId:String?
/**
* The tag id.
*/
// @ApiMember(Description="The tag id.", IsRequired=true, ParameterType="path")
public var id:Int
/**
* The tag name.
*/
// @ApiMember(Description="The tag name.", IsRequired=true)
public var name:String
/**
* The display color for the tag.
*/
// @ApiMember(Description="The display color for the tag.")
public var color:String
/**
* The sort order. Defaults to 0 when omitted.
*/
// @ApiMember(Description="The sort order. Defaults to 0 when omitted.")
public var sortOrder:Int?
/**
* Whether the tag is active. Defaults to true when omitted.
*/
// @ApiMember(Description="Whether the tag is active. Defaults to true when omitted.")
public var active:Bool?
required public init(){}
}
public class TagResponse : Codable
{
public var id:Int
public var companyId:String
public var name:String
public var scope:Int
public var color:String
public var sortOrder:Int
public var active:Bool
public var createdDate:Date
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.
PUT /tags/{Id} HTTP/1.1
Host: api-staging.bookmore.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"Name":"String","Color":"String","SortOrder":0,"Active":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Id":0,"Name":"String","Scope":0,"Color":"String","SortOrder":0,"Active":false,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}