postV1WebhookSubscription.ts•1.85 kB
/**
* Generated by Kubb (https://kubb.dev/).
* Do not edit manually.
*/
import fetch from '@kubb/plugin-client/clients/axios'
import type {
PostV1WebhookSubscriptionMutationRequest,
PostV1WebhookSubscriptionMutationResponse,
PostV1WebhookSubscriptionHeaderParams,
PostV1WebhookSubscription400,
} from '../types/PostV1WebhookSubscription.ts'
import type { RequestConfig, ResponseErrorConfig } from '@kubb/plugin-client/clients/axios'
function getPostV1WebhookSubscriptionUrl() {
return `/v1/webhook-subscription` as const
}
/**
* @description This endpoint allows you to create a webhook subscription that will notify your application when a workout is created. Your endpoint must respond with a `200 OK` status within **5 seconds**, otherwise the delivery will be retried.When a new workout is created, we will send a POST request to your provided URL with the following JSON payload:```json { "id": "00000000-0000-0000-0000-000000000001", "payload": { "workoutId": "f1085cdb-32b2-4003-967d-53a3af8eaecb" }}
* @summary Create a new webhook subscription.
* {@link /v1/webhook-subscription}
*/
export async function postV1WebhookSubscription(
headers: PostV1WebhookSubscriptionHeaderParams,
data?: PostV1WebhookSubscriptionMutationRequest,
config: Partial<RequestConfig<PostV1WebhookSubscriptionMutationRequest>> & { client?: typeof fetch } = {},
) {
const { client: request = fetch, ...requestConfig } = config
const requestData = data
const res = await request<
PostV1WebhookSubscriptionMutationResponse,
ResponseErrorConfig<PostV1WebhookSubscription400>,
PostV1WebhookSubscriptionMutationRequest
>({
method: 'POST',
url: getPostV1WebhookSubscriptionUrl().toString(),
data: requestData,
...requestConfig,
headers: { ...headers, ...requestConfig.headers },
})
return res.data
}