curl --request DELETE \
--url https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name} \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}"
headers = {"api_key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}', 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://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true
}Delete entity schema
Removes an entity from the app.
Delete the entity’s records first. An entity that still has records can’t be removed, and the call changes nothing.
This changes the app’s live data model, so it takes effect immediately. It doesn’t change the file that defines that model in the app’s source code. Since Base44 rebuilds the live model whenever the file is written or the app’s code is pulled from GitHub, a change made using this endpoint may be reverted.
To change the model for good, change the entities configuration files.
Pass User as the entity_name to drop the custom fields from the built-in user entity. Unlike every other entity, this isn’t blocked by existing records and it doesn’t delete any app users. Their custom values stay in storage but stop being part of the user schema.
curl --request DELETE \
--url https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name} \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}"
headers = {"api_key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}', 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://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/entity-schemas/{entity_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true
}Authorizations
Personal API key.
Path Parameters
Name of the entity to remove, as returned by List entity schemas. Pass User to drop the built-in user entity's custom fields.
ID of the app whose entity schemas you want to work with.
Response
Successful Response
Confirmation that an entity was removed from the app.
Always true. A delete that failed returns an error status instead.
true
Was this page helpful?