BokaMera.API.Host

<back to all web services

UpdateTag

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/tags/{Id}Update a tagReplaces 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.
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        Public Partial Class TagResponse
            Public Overridable Property Id As Integer
            Public Overridable Property CompanyId As Guid
            Public Overridable Property Name As String
            Public Overridable Property Scope As Integer
            Public Overridable Property Color As String
            Public Overridable Property SortOrder As Integer
            Public Overridable Property Active As Boolean
            Public Overridable Property CreatedDate As Date
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <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 Partial Class UpdateTag
            Implements ICompany
            '''<Summary>
            '''The company id, if empty will use the company id for the user you are logged in with.
            '''</Summary>
            <ApiMember(Description:="The company id, if empty will use the company id for the user you are logged in with.")>
            Public Overridable Property CompanyId As Guid? Implements ICompany.CompanyId

            '''<Summary>
            '''The tag id.
            '''</Summary>
            <ApiMember(Description:="The tag id.", IsRequired:=true, ParameterType:="path")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The tag name.
            '''</Summary>
            <ApiMember(Description:="The tag name.", IsRequired:=true)>
            Public Overridable Property Name As String

            '''<Summary>
            '''The display color for the tag.
            '''</Summary>
            <ApiMember(Description:="The display color for the tag.")>
            Public Overridable Property Color As String

            '''<Summary>
            '''The sort order. Defaults to 0 when omitted.
            '''</Summary>
            <ApiMember(Description:="The sort order. Defaults to 0 when omitted.")>
            Public Overridable Property SortOrder As Integer?

            '''<Summary>
            '''Whether the tag is active. Defaults to true when omitted.
            '''</Summary>
            <ApiMember(Description:="Whether the tag is active. Defaults to true when omitted.")>
            Public Overridable Property Active As Boolean?
        End Class
    End Namespace
End Namespace

VB.NET UpdateTag DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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.bookmore.dev 
Accept: text/jsv
Content-Type: text/jsv
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: text/jsv
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
		}
	}
}