Update entity schema
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Replaces an entity's JSON Schema with the one you send. This is a full replacement, not a merge. Anything you leave out is dropped from the schema.
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 set custom fields on the built-in user entity. Those fields can't redeclare email or full_name, which Base44 manages.
Path parameters
Name of the entity to replace, as returned by List entity schemas. Pass User to set the built-in user entity's custom fields.
Name of the entity to replace, as returned by List entity schemas. Pass User to set the built-in user entity's custom fields.
ID of the app whose entity schemas you want to work with.
ID of the app whose entity schemas you want to work with.
Request body
Example request
{
"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
No recorded changes to this endpoint across all 1 revision of this API.