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.
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type WidgetConfigurationResponse() = 
        member val Id:String = null with get,set
        member val CompanyId:Guid = new Guid() with get,set
        member val Name:String = null with get,set
        member val Slug:String = null with get,set
        member val Description:String = null with get,set
        member val Configuration:String = null with get,set
        member val SchemaVersion:Int32 = new Int32() with get,set
        member val IsHomepageDefault:Boolean = new Boolean() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val UpdatedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<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")>]
    [<AllowNullLiteral>]
    type BumpWidgetConfigurationVersion() = 
        ///<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.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The widget configuration id (6-character NanoID).
        ///</summary>
        [<ApiMember(Description="The widget configuration id (6-character NanoID).", IsRequired=true, ParameterType="path")>]
        member val Id:String = null with get,set

        ///<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)>]
        member val UseFactoryDefaults:Boolean = new Boolean() with get,set

F# BumpWidgetConfigurationVersion DTOs

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

HTTP + JSON

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: application/json
Content-Type: application/json
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":"String","UseFactoryDefaults":false}
HTTP/1.1 200 OK
Content-Type: application/json
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"}}}