Webhooks

Create a new webhook for the user's organization.

post/v1/organizations/webhooks

Request

  • Base URL: https://api.mixpeek.com
  • URL: https://api.mixpeek.com/v1/organizations/webhooks
  • Auth: HTTP bearer

Request body

webhook_idstring

Unique identifier for the webhook. Auto-generated with 'wh_' prefix followed by secure random token. Format: wh_{16-character hex}. Used for API operations and event tracking.

webhook_namestring required

REQUIRED. Human-readable name for the webhook. Displayed in dashboards, logs, and notification metadata. Should describe the webhook's purpose or destination. Format: 1-200 characters.

internal_idstring nullable

Organization internal identifier for multi-tenancy scoping. All webhook operations are scoped to this organization. Excluded from API responses for security. Format: int_{24-character secure token}.

event_typesWebhookEventType[] required

REQUIRED. List of event types that trigger this webhook. When any of these events occur, notifications are sent to all channels. Must contain at least one event type. Common patterns: - ['object.created', 'object.updated'] for object lifecycle tracking - ['cluster.execution.completed', 'cluster.execution.failed'] for job monitoring - ['*'] for all events (use cautiously, high volume)

resource_typesstring[] nullable

OPTIONAL. Deliver only events whose resource_type is one of these, for example ['retriever', 'taxonomy']. Applies to every event type: for resource.executed and resource.execution_failed the resource_type is the primitive that ran (it travels in the payload); for the per-kind types it is the first segment of the event type. Omitted or empty: no resource_type filter.

is_activeboolean

Whether the webhook is currently active and should send notifications. True: Events trigger notifications to channels. False: Webhook is paused, no notifications sent but config preserved. Use to temporarily disable webhooks without losing configuration. Default: True

delivery_healthobject nullable

Read-only delivery state written by the dispatcher: consecutive_failures, first_failure_at, last_failure_at and last_failure_cause for the current run of failed deliveries, and paused_at and paused_reason when the run paused the webhook (is_active false). Re-enable with an update setting is_active true, which clears it.

created_atstring date-time

UTC timestamp when the webhook was created. Auto-generated at creation time. Immutable after creation. Format: ISO 8601 datetime.

updated_atstring date-time

UTC timestamp of the most recent webhook update. Updated automatically when event_types, channels, or is_active changes. Tracks configuration modifications. Format: ISO 8601 datetime.

Example request

{
  "channels": [
    {
      "channel": "slack",
      "configs": {
        "channel": "#alerts",
        "webhook_url": "https://hooks.slack.com/services/T000/B000/XXXX"
      }
    }
  ],
  "created_at": "2025-01-01T00:00:00Z",
  "description": "Slack notifications for object lifecycle",
  "event_types": [
    "object.created",
    "object.updated",
    "object.deleted"
  ],
  "is_active": true,
  "updated_at": "2025-01-01T00:00:00Z",
  "webhook_id": "wh_abc123def4567890",
  "webhook_name": "Engineering Slack Alerts"
}

Response

Successful Response

webhook_idstring

Unique identifier for the webhook. Auto-generated with 'wh_' prefix followed by secure random token. Format: wh_{16-character hex}. Used for API operations and event tracking.

webhook_namestring required

REQUIRED. Human-readable name for the webhook. Displayed in dashboards, logs, and notification metadata. Should describe the webhook's purpose or destination. Format: 1-200 characters.

event_typesWebhookEventType[] required

REQUIRED. List of event types that trigger this webhook. When any of these events occur, notifications are sent to all channels. Must contain at least one event type. Common patterns: - ['object.created', 'object.updated'] for object lifecycle tracking - ['cluster.execution.completed', 'cluster.execution.failed'] for job monitoring - ['*'] for all events (use cautiously, high volume)

resource_typesstring[] nullable

OPTIONAL. Deliver only events whose resource_type is one of these, for example ['retriever', 'taxonomy']. Applies to every event type: for resource.executed and resource.execution_failed the resource_type is the primitive that ran (it travels in the payload); for the per-kind types it is the first segment of the event type. Omitted or empty: no resource_type filter.

is_activeboolean

Whether the webhook is currently active and should send notifications. True: Events trigger notifications to channels. False: Webhook is paused, no notifications sent but config preserved. Use to temporarily disable webhooks without losing configuration. Default: True

delivery_healthobject nullable

Read-only delivery state written by the dispatcher: consecutive_failures, first_failure_at, last_failure_at and last_failure_cause for the current run of failed deliveries, and paused_at and paused_reason when the run paused the webhook (is_active false). Re-enable with an update setting is_active true, which clears it.

created_atstring date-time

UTC timestamp when the webhook was created. Auto-generated at creation time. Immutable after creation. Format: ISO 8601 datetime.

updated_atstring date-time

UTC timestamp of the most recent webhook update. Updated automatically when event_types, channels, or is_active changes. Tracks configuration modifications. Format: ISO 8601 datetime.

Example response

{
  "channels": [
    {
      "channel": "slack",
      "configs": {
        "channel": "#alerts",
        "webhook_url": "https://hooks.slack.com/services/T000/B000/XXXX"
      }
    }
  ],
  "created_at": "2025-01-01T00:00:00Z",
  "description": "Slack notifications for object lifecycle",
  "event_types": [
    "object.created",
    "object.updated",
    "object.deleted"
  ],
  "is_active": true,
  "updated_at": "2025-01-01T00:00:00Z",
  "webhook_id": "wh_abc123def4567890",
  "webhook_name": "Engineering Slack Alerts"
}

Changes

    • warning

      removed the optional property from the response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • warning

      added the new manifest.apply.resource_state enum value to the / response property for the response status

    • info

      added the new manifest.apply.resource_state enum value to the request property /