BokaMera.API.Host

<back to all web services

BumpWidgetConfigurationVersion

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/widget/configuration/{Id}/bumpversionBump the homepage default widget configuration to the next schema versionMoves the homepage default configuration's SchemaVersion to SchemaVersion + 1. Returns 400 if the next version's schema does not exist yet, if UseFactoryDefaults is true and the next version has no DefaultConfiguration authored, or if the target configuration is not the homepage default.
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

        <ApiResponse(Description:="Not the homepage default, next schema version doesn't exist, or (when UseFactoryDefaults) the next version has no factory default authored yet", StatusCode:=400)>
        <ApiResponse(Description:="Returned if the configuration 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 BumpWidgetConfigurationVersion
            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 widget configuration id (6-character NanoID).
            '''</Summary>
            <ApiMember(Description:="The widget configuration id (6-character NanoID).", IsRequired:=true, ParameterType:="path")>
            Public Overridable Property Id As String

            '''<Summary>
            '''When true, overwrites Configuration with the next schema version's factory-default JSON. When false, only SchemaVersion is moved and the existing Configuration is preserved unvalidated against the new schema.
            '''</Summary>
            <ApiMember(Description:="When true, overwrites Configuration with the next schema version's factory-default JSON. When false, only SchemaVersion is moved and the existing Configuration is preserved unvalidated against the new schema.", IsRequired:=true)>
            Public Overridable Property UseFactoryDefaults As Boolean
        End Class

        Public Partial Class WidgetConfigurationResponse
            Public Overridable Property Id As String
            Public Overridable Property CompanyId As Guid
            Public Overridable Property Name As String
            Public Overridable Property Slug As String
            Public Overridable Property Description As String
            Public Overridable Property Configuration As String
            Public Overridable Property SchemaVersion As Integer
            Public Overridable Property IsHomepageDefault As Boolean
            Public Overridable Property CreatedDate As Date
            Public Overridable Property UpdatedDate As DateTimeOffset?
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

VB.NET BumpWidgetConfigurationVersion DTOs

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

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /widget/configuration/{Id}/bumpversion HTTP/1.1 
Host: api.bookmore.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":"String","UseFactoryDefaults":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Id":"String","Name":"String","Slug":"String","Description":"String","Configuration":"String","SchemaVersion":0,"IsHomepageDefault":false,"UpdatedDate":"0001-01-01T00:00:00.0000000+00:00","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}