curl --request PATCH \
--url https://v2.flabs.in/client/events/reactivateEvent/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://v2.flabs.in/client/events/reactivateEvent/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {Authorization: 'Bearer <token>'}};
fetch('https://v2.flabs.in/client/events/reactivateEvent/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v2.flabs.in/client/events/reactivateEvent/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://v2.flabs.in/client/events/reactivateEvent/{id}"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://v2.flabs.in/client/events/reactivateEvent/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://v2.flabs.in/client/events/reactivateEvent/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Event reactivated successfully",
"data": {
"_id": "<unique id>",
"events": [
"bill.completed"
],
"endpoint": "https://example.com/webhooks/flabs",
"protocol": "https",
"createdAt": "2025-08-21T08:57:49.700Z",
"updatedAt": "2026-10-12T11:02:10.000Z"
}
}{
"success": false,
"status": 401,
"message": "Unauthorized",
"error": {
"details": "Invalid client credentials"
}
}{
"success": false,
"status": 500,
"message": "Internal Server Error",
"error": {
"details": "An unexpected error occurred"
}
}Restore Webhook
Bring back a webhook that Flabs deleted automatically. It starts receiving new events straight away. Fix your endpoint first: if it still returns no 2xx for 24 hours, it is deleted again.
Only auto-deleted webhooks can be restored; a webhook you deleted yourself cannot. Events created while the webhook was deleted are not sent.
Party-scoped accounts: returns 409 if an active webhook for the same party already covers one of its events (for example, a replacement you registered meanwhile).
Party-scoped accounts: you MUST pass the same party (corporateUser or organization) the webhook is bound to.
curl --request PATCH \
--url https://v2.flabs.in/client/events/reactivateEvent/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://v2.flabs.in/client/events/reactivateEvent/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {Authorization: 'Bearer <token>'}};
fetch('https://v2.flabs.in/client/events/reactivateEvent/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://v2.flabs.in/client/events/reactivateEvent/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://v2.flabs.in/client/events/reactivateEvent/{id}"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://v2.flabs.in/client/events/reactivateEvent/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://v2.flabs.in/client/events/reactivateEvent/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Event reactivated successfully",
"data": {
"_id": "<unique id>",
"events": [
"bill.completed"
],
"endpoint": "https://example.com/webhooks/flabs",
"protocol": "https",
"createdAt": "2025-08-21T08:57:49.700Z",
"updatedAt": "2026-10-12T11:02:10.000Z"
}
}{
"success": false,
"status": 401,
"message": "Unauthorized",
"error": {
"details": "Invalid client credentials"
}
}{
"success": false,
"status": 500,
"message": "Internal Server Error",
"error": {
"details": "An unexpected error occurred"
}
}Overview
Bring back a webhook that Flabs deleted automatically because it returned no2xx response for 24 hours. The webhook starts receiving new events straight away, with the same events, endpoint and party it had before.
Fix your endpoint before restoring it. If it still returns no 2xx for 24 hours, it is deleted again.
Endpoint
PATCH https://v2.flabs.in/client/events/reactivateEvent/<_id>?labID=<labID>
curl --request PATCH \
--url 'https://v2.flabs.in/client/events/reactivateEvent/6ac5e1f2a3b4c5d6e7f80912?labID=64a1b2c3d4e5f60718293a4b' \
--header 'Authorization: Bearer <authToken>'
Authentication
This endpoint requires a valid Bearer token obtained from the authentication API.Request Parameters
The webhook identifier is sent in the path; the rest are query parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Path parameter. The _id from Get Auto-deleted Webhooks |
labID | string | Yes | Flabs lab (branch) identifier the webhook belongs to. Fetch via GET /client/labs |
corporateUser | string | Cond. | Party-scoped accounts only — the corporate the webhook is bound to |
organization | string | Cond. | Party-scoped accounts only — the doctor/hospital the webhook is bound to |
corporateUser or organization the webhook is bound to; you can only restore your own party’s webhooks. See integration modes.What can be restored
- Only webhooks that Flabs deleted automatically can be restored.
- A webhook you deleted yourself with Delete Webhook cannot be restored. Register it again instead.
- Party-scoped accounts: a party can have only one active webhook per event. If you registered a replacement for the same party and an overlapping event while this webhook was deleted, restoring returns
409. Delete one of them first, otherwise every event would be delivered twice. - If the webhook is not found among your auto-deleted webhooks (already active, deleted by you, another lab’s or another party’s), the API returns
404witherror.detailsset to"Deactivated event not found".
Responses
{
"success": true,
"message": "Event reactivated successfully",
"data": {
"_id": "6ac5e1f2a3b4c5d6e7f80912",
"events": ["bill.completed", "report.completed"],
"endpoint": "https://your-domain.com/flabs/webhooks",
"protocol": "https",
"createdAt": "2026-10-06T07:16:25.217Z",
"updatedAt": "2026-10-12T11:02:10.000Z"
}
}
{
"success": false,
"status": 404,
"message": "Not Found - The requested resource could not be found.",
"error": {
"details": "Deactivated event not found"
}
}
{
"success": false,
"status": 409,
"message": "Conflict - The request could not be completed due to a conflict.",
"error": {
"details": "A webhook for this party already exists for one or more of these events"
}
}
Authorizations
JWT token obtained from the authentication endpoint
Path Parameters
Unique identifier of the auto-deleted webhook
Query Parameters
Flabs lab (branch) identifier. Fetch the list of labs via GET /client/labs.
Party-scoped accounts only. The corporate the webhook is bound to. Pass either corporateUser or organization, not both.
Party-scoped accounts only. The doctor/hospital the webhook is bound to. Pass either corporateUser or organization, not both.
Was this page helpful?