Tableo Restaurant API
Webhooks

Update a webhook subscription

Update the URL, events, or active status of an existing webhook. Pass is_active: false to pause deliveries.

PUT
/api/restaurant/webhooks/{webhook_id}

Authorization

bearerAuth
AuthorizationBearer <token>

Supports two token types:

  1. Restaurant tokens — API tokens with restaurant-api ability, issued per restaurant.
  2. User tokens — Personal access tokens with mobile-access ability (e.g. for the mobile app). When managing multiple restaurants, include X-Restaurant-Id: <id> header.

In: header

Path Parameters

webhook_id*integer

Webhook subscription ID.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://devrms.tabdevx.com/api/restaurant/webhooks/0" \  -H "Content-Type: application/json" \  -d '{    "events": [      "booking.created",      "booking.confirmed",      "booking.cancelled"    ]  }'
{
  "data": {
    "id": 1,
    "url": "https://api.example.com/webhooks/tableo",
    "secret": "whsec_a1b2c3d4e5f6...",
    "events": [
      "booking.created",
      "booking.confirmed",
      "booking.cancelled"
    ],
    "is_active": true,
    "created_at": "2026-06-01T10:00:00Z",
    "updated_at": "2026-06-09T14:30:00Z"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Booking not found.",
    "details": null
  },
  "meta": {
    "timestamp": "2026-03-18T10:00:00Z"
  }
}

{
  "message": "The given data was invalid.",
  "errors": {
    "date": [
      "The date field is required."
    ],
    "adults": [
      "The adults must be at least 1."
    ]
  }
}