Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mesa.dev/llms.txt

Use this file to discover all available pages before exploring further.

Create a webhook target. The response includes the signing secret once.
const target = await mesa.webhookTargets.create({
  url: 'https://example.com/mesa/webhook',
  name: 'production-webhook',
  events: ['push', 'change.created'],
  repo_ids: ['repo_123'],
});

console.log(target.id);
console.log(target.secret); // store immediately

Options

url
string
required
HTTPS URL that receives webhook deliveries.
org
string | undefined
Organization override.
name
string | undefined
Human-readable target name.
events
string[] | undefined
Event types to subscribe to. Defaults to ['push'] when omitted.
repo_ids
string[] | undefined
Restrict deliveries to specific repository IDs. Omit to receive events for all repositories in the organization.

Event names

Supported event names include repo.created, repo.updated, repo.deleted, bookmark.created, bookmark.deleted, bookmark.moved, bookmark.merged, change.created, change.evolved, push, sync_run.enqueued, sync_run.started, sync_run.completed, and sync_run.failed.

Response

id
string
Webhook target ID.
name
string | null
Webhook target name.
url
string
Delivery URL.
events
string[]
Subscribed events.
repo_ids
string[] | null
Repository filter, or null for organization-wide delivery.
secret
string
Signing secret. Store it immediately because list and update responses do not include it.

Required scope

admin