curl --request POST \
--url https://api.engagefabric.com/tenants/{id}/restore \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.engagefabric.com/tenants/{id}/restore"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engagefabric.com/tenants/{id}/restore', 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://api.engagefabric.com/tenants/{id}/restore",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://api.engagefabric.com/tenants/{id}/restore"
req, _ := http.NewRequest("POST", 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.post("https://api.engagefabric.com/tenants/{id}/restore")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engagefabric.com/tenants/{id}/restore")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Acme Corporation",
"slug": "acme-corp",
"plan": "FREE",
"status": "ACTIVE",
"isActive": true,
"isAlphaLocked": true,
"onboardingStatus": "PENDING",
"alphaApprovalStatus": "PENDING",
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-15T10:30:00Z",
"alphaApprovedAt": "2025-01-15T10:30:00Z",
"alphaApprovedBy": "admin@engagefabric.com",
"alphaRejectionReason": "Not a good fit for alpha program",
"alphaApplicationNote": "We are building a gamification platform",
"metadata": {
"industry": "SaaS"
},
"deletedAt": null,
"_count": {
"projects": 3,
"members": 5
}
}Restore a soft-deleted tenant
curl --request POST \
--url https://api.engagefabric.com/tenants/{id}/restore \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.engagefabric.com/tenants/{id}/restore"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engagefabric.com/tenants/{id}/restore', 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://api.engagefabric.com/tenants/{id}/restore",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://api.engagefabric.com/tenants/{id}/restore"
req, _ := http.NewRequest("POST", 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.post("https://api.engagefabric.com/tenants/{id}/restore")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engagefabric.com/tenants/{id}/restore")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Acme Corporation",
"slug": "acme-corp",
"plan": "FREE",
"status": "ACTIVE",
"isActive": true,
"isAlphaLocked": true,
"onboardingStatus": "PENDING",
"alphaApprovalStatus": "PENDING",
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-15T10:30:00Z",
"alphaApprovedAt": "2025-01-15T10:30:00Z",
"alphaApprovedBy": "admin@engagefabric.com",
"alphaRejectionReason": "Not a good fit for alpha program",
"alphaApplicationNote": "We are building a gamification platform",
"metadata": {
"industry": "SaaS"
},
"deletedAt": null,
"_count": {
"projects": 3,
"members": 5
}
}Authorizations
JWT token for admin console authentication
Path Parameters
Tenant UUID
Response
Tenant restored successfully
Unique tenant identifier
"123e4567-e89b-12d3-a456-426614174000"
Tenant name
"Acme Corporation"
URL-friendly slug
"acme-corp"
Subscription plan
FREE, STARTER, PROFESSIONAL, ENTERPRISE "FREE"
Tenant status
ACTIVE, SUSPENDED, CANCELLED "ACTIVE"
Whether the tenant is active (derived from status)
true
Whether tenant is locked to FREE tier during alpha
true
Onboarding progress status
PENDING, EMAIL_VERIFIED, PROJECT_CREATED, FIRST_EVENT_SENT, COMPLETED "PENDING"
Alpha approval status
PENDING, APPROVED, REJECTED "PENDING"
Creation timestamp
"2025-01-15T10:30:00Z"
Last update timestamp
"2025-01-15T10:30:00Z"
When the tenant was approved for alpha
"2025-01-15T10:30:00Z"
Email of super admin who approved
"admin@engagefabric.com"
Reason for rejection if rejected
"Not a good fit for alpha program"
Application note from user
"We are building a gamification platform"
Additional metadata
{ "industry": "SaaS" }
Soft deletion timestamp
null
Count of related entities
{ "projects": 3, "members": 5 }
