Skip to content

WebhooksAPI

Defined in: v1/webhooks.ts:20

Handles all webhook-related API operations. Intended to be instantiated by a parent API client that provides the base fetch logic.

These endpoints are read-only. Creating, updating, or deleting webhooks is not supported in this SDK.

new WebhooksAPI(baseFetch): WebhooksAPI

Defined in: v1/webhooks.ts:29

Creates a new WebhooksAPI instance.

<T>(endpoint, schema) => Promise<T>

A generic fetch function provided by the parent client. Handles request execution and response validation against a Zod schema.

WebhooksAPI

const webhooks = new WebhooksAPI((endpoint, schema) => myClient.fetch(endpoint, schema));

getEvents(webhookId, page?, per?, filters?): Promise<{ events: { attempt_count?: number; created_at: string; id: number; last_attempted_at?: string | null; object_id?: number; object_type?: string; response_http_status?: number | null; webhook_id: number; workflow_state?: string; }[]; meta?: { from?: number; number_of_pages?: number; page?: number; per_page?: number; to?: number; total?: number; }; }>

Defined in: v1/webhooks.ts:63

Retrieves a paginated list of delivery events for a specific webhook, with optional filters for HTTP status range and creation date.

number

The unique identifier of the webhook.

number = 1

The page number to retrieve. Defaults to 1.

number = 20

The number of results per page. Defaults to 20, maximum: 100.

Optional filters to narrow the results.

string

Return only events created after this date (ISO 8601).

string

Return only events created before this date (ISO 8601).

number

Return only events with an HTTP status >= this value.

number

Return only events with an HTTP status <= this value.

Promise<{ events: { attempt_count?: number; created_at: string; id: number; last_attempted_at?: string | null; object_id?: number; object_type?: string; response_http_status?: number | null; webhook_id: number; workflow_state?: string; }[]; meta?: { from?: number; number_of_pages?: number; page?: number; per_page?: number; to?: number; total?: number; }; }>

A promise resolving to a validated WebhookEventsResponse object.

If no webhook exists with the given ID or the request fails.

// All events for a webhook
const { events } = await webhooksAPI.getEvents(42);
// Only failed events (HTTP 4xx/5xx)
const { events } = await webhooksAPI.getEvents(42, 1, 20, {
responseHttpStatusGte: 400,
});

getList(): Promise<{ webhooks: { event_trigger?: string; id: number; url?: string; webhook_events_count?: number; workflow_state?: string; }[]; }>

Defined in: v1/webhooks.ts:37

Retrieves all webhooks registered on the Teachable school.

Promise<{ webhooks: { event_trigger?: string; id: number; url?: string; webhook_events_count?: number; workflow_state?: string; }[]; }>

A promise resolving to a validated WebhooksResponse object.

const { webhooks } = await webhooksAPI.getList();