BokaMera.API.Host

<back to all web services

CreateWebhookEndpoint

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/webhook/endpointsCreate webhook endpoint
import java.math.*
import java.util.*
import net.servicestack.client.*


@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
open class CreateWebhookEndpoint : ICompany
{
    /**
    * 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.", IsRequired=true, ParameterType="query")
    var CompanyId:UUID? = null

    /**
    * The webhook endpoint URL.
    */
    @ApiMember(Description="The webhook endpoint URL.", IsRequired=true)
    var Url:Uri? = null

    /**
    * List of event types. At least one event type is required.
    */
    @ApiMember(Description="List of event types. At least one event type is required.", IsRequired=true)
    @Validate(Validator="NotEmpty", ErrorCode="At least one event type is required.")
    var EventTypes:ArrayList<String> = ArrayList<String>()

    var Description:String? = null
    @ApiMember()
    var Disabled:Boolean? = null
}

open class WebhookEndpoint
{
    var Description:String? = null
    var Url:String? = null
    var Id:String? = null
    var Disabled:Boolean? = null
    var EventTypes:ArrayList<String> = ArrayList<String>()
}

Kotlin CreateWebhookEndpoint 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.

POST /webhook/endpoints HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	EventTypes: 
	[
		String
	],
	Description: String,
	Disabled: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Description: String,
	Url: String,
	Id: String,
	Disabled: False,
	EventTypes: 
	[
		String
	]
}