Claude Platform Docs

Create Organization Webhook Endpoint

$client->beta->organization->webhooks->create(list<EnabledEvent> enabledEvents, string url, ?string description, ?string name, ?list<AnthropicBeta> betas): NewOrganizationWebhookEndpoint
POST/v1/organizations/webhooks
Requires anthropic-beta: webhooks-2026-10-07. How to send beta headers

Create an organization webhook endpoint.

An organization webhook endpoint belongs to the organization rather than to one of its workspaces. An organization can have at most 32 organization webhook endpoints, enabled or disabled.

The response includes the endpoint's signing secret. No read returns it, so store it when you receive it.

Every request must include the beta header anthropic-beta: webhooks-2026-10-07. A request without it returns 404, exactly as if this API did not exist. Anthropic turns organization webhook endpoints on for each organization; until yours is on, requests also return 404. Organization webhook endpoints are in beta and are not available to organizations with HIPAA readiness enabled.

Parameters
enabledEvents: list<EnabledEvent>

The event types to deliver to the endpoint. Must list at least one.

url: string

The HTTPS URL that deliveries are sent to.

description?: optional string

Notes about the endpoint.

name?: optional string

A short label for the endpoint.

betas?: optional list<AnthropicBeta>⁠Header parameter

This endpoint is in beta: requests must send webhooks-2026-10-07 in this header.

Returns
class NewOrganizationWebhookEndpoint { $id; $createdAt; $description; /* 7 more */ }
string id

ID of the webhook endpoint.

\Datetime createdAt

When the endpoint was created, in RFC 3339 format.

string description

Notes about the endpoint. An empty string when none were given.

string disabledReason

Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it.

list<EnabledEvent> enabledEvents

The event types delivered to the endpoint.

string name

A short label for the endpoint. An empty string when none was given.

string signingSecret

The secret Anthropic signs deliveries to the endpoint with (prefix whsec_). No other response returns it, so store it now. To replace it, regenerate the signing secret.

Whether deliveries are sent to the endpoint.

\Datetime updatedAt

When the endpoint was last changed, in RFC 3339 format.

string url

The HTTPS URL that deliveries are sent to.

Create Organization Webhook Endpoint
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaNewOrganizationWebhookEndpoint = $client
  ->beta
  ->organization
  ->webhooks
  ->create(
  enabledEvents: ['user_profile.enforcement_action_opened'],
  url: 'x',
  description: 'description',
  name: 'name',
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
);

var_dump($betaNewOrganizationWebhookEndpoint);
Returns Examples
Response 200
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "disabled_reason": "disabled_reason",
  "enabled_events": [
    "user_profile.enforcement_action_opened"
  ],
  "name": "name",
  "signing_secret": "signing_secret",
  "state": "disabled",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "url": "url"
}