Create entity schema
Changed on<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Adds a new entity to the specified app.
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.
You can't create User, which is built in. Use Update entity schema with User to add custom fields to it.
Entity schemas change on main only, so naming a branch in branch_id returns a 409. To add entities or fields on a branch, use Send chat message with that branch_id.
Request
- Base URLhttps://app.base44.com
- URLhttps://app.base44.com/api/apps/{app_id}/entity-schemas
- Auth
- HTTP bearer
- or API key in header api_key
- or HTTP bearer
Path parameters
ID of the app whose entity schemas you want to work with.
Query parameters
ID of the branch to work on, as returned by List branches. Omit it to work on the app's main branch.
Request body
Example request
{
"entity_name": "Invoice",
"entity_schema": {
"name": "Invoice",
"properties": {
"amount": {
"description": "Total amount in cents",
"type": "number"
},
"status": {
"enum": [
"draft",
"sent",
"paid"
],
"type": "string"
}
},
"required": [
"amount"
],
"rls": {
"read": {
"created_by": "{{user.email}}"
}
},
"type": "object"
}
}Response
Successful Response
Example response
{
"entity_name": "Invoice",
"entity_schema": {
"name": "Invoice",
"properties": {
"amount": {
"description": "Total amount in cents",
"type": "number"
},
"status": {
"enum": [
"draft",
"sent",
"paid"
],
"type": "string"
}
},
"required": [
"amount"
],
"rls": {
"read": {
"created_by": "{{user.email}}"
}
},
"type": "object"
}
}Changes
- info
added the new optional
queryrequest parameterbranch_id
- info
- info
the endpoint scheme security
WorkspaceApiKeyBearerAuthwas added to the API
- info