BokaMera.API.Host

<back to all web services

SetCompanyFeatureFlag

Requires Authentication
Requires any of the roles:superadmin, bookingsupplier-administrator-write
The following routes are available for this service:
PUT/feature/{CompanyId}/{Id}Set a company feature flag overrideSets the per-company IsEnabled override for a feature flag. SuperAdmin and ApplicationAdmin can always toggle; CompanyAdmin can toggle only for their own company and only when the flag has CompanyAdminCanToggle = true.
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 CompanyFeatureFlagResponse
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property IsEnabled As Boolean
            Public Overridable Property IsPublic As Boolean
            Public Overridable Property CompanyAdminCanToggle As Boolean
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <ApiResponse(Description:="Returned if the flag is not toggleable for this caller", StatusCode:=400)>
        <ApiResponse(Description:="Returned if the feature flag or company 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 SetCompanyFeatureFlag
            Implements ICompany
            '''<Summary>
            '''The company id.
            '''</Summary>
            <ApiMember(Description:="The company id.", IsRequired:=true, ParameterType:="path")>
            Public Overridable Property CompanyId As Guid? Implements ICompany.CompanyId

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

            '''<Summary>
            '''Whether the feature is enabled for this company.
            '''</Summary>
            <ApiMember(Description:="Whether the feature is enabled for this company.", IsRequired:=true)>
            Public Overridable Property IsEnabled As Boolean
        End Class
    End Namespace
End Namespace

VB.NET SetCompanyFeatureFlag DTOs

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

HTTP + OTHER

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

PUT /feature/{CompanyId}/{Id} HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"IsEnabled":false}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Id":0,"Name":"String","IsEnabled":false,"IsPublic":false,"CompanyAdminCanToggle":false,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}