OpenCourt Developers
API ReferenceWebhook endpoints

Update a webhook endpoint

PATCH/v1/webhook_endpoints/{id}

Change url, scopes or signal_types. Validated against the RESULTING pair, not the field you sent: narrowing scopes while leaving signal_types alone is refused if a remaining type needs a scope you just removed, because the alternative is an endpoint holding a subscription it is no longer entitled to.

Authorization

bearerAuth
AuthorizationBearer <token>

Your club API key. Send it as Authorization: Bearer oc_live_….

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.getopencourt.com/v1/webhook_endpoints/8f1b2c3d-4e5f-4a6b-9c7d-0e1f2a3b4c5d" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "8f1b2c3d-4e5f-4a6b-9c7d-0e1f2a3b4c5d",
  "object": "webhook_endpoint",
  "url": "https://hooks.example.com/opencourt",
  "scopes": [
    "customers:read"
  ],
  "signal_types": [
    "customer.created",
    "customer.updated"
  ],
  "status": "active",
  "disabled_reason": null,
  "created_at": "2026-08-28T14:30:00.000Z"
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "request_id": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "request_id": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "request_id": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "request_id": "string"
  }
}