Update entity records

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Changes several records in one of the app's entities, each with its own fields, and returns the updated records in the order you sent them.

Send a JSON array of up to 500 objects. Each one carries the id of a record and the fields to change on it, and an id can appear only once. Like Update entity record, this merges rather than replaces, so a field you leave out keeps its value. Fields the entity's schema doesn't declare are left out of the record instead of failing the call.

Every record is checked before any is written. If one id matches no record the entity's rls update rule lets you change, or one record doesn't match the entity's schema or a field-level rule, the call is rejected and no records change.

Sending the same array again sets the same values, so a retry is safe. Unlike Update entity record, this doesn't trigger the app's webhooks, automations, or workflows.

<Note>This endpoint accepts a personal API key belonging to a user with access to the app. A read-only key is refused, and workspace API keys are not accepted.</Note>

put/api/apps/{app_id}/entities/{entity_name}/bulk

Path parameters

app_idstring required

ID of the app that owns the entity.

ID of the app that owns the entity.

entity_namestring required

Name of the entity, exactly as List entity schemas reports it. Don't pass User here. It doesn't fail, but it reads and writes a separate, disconnected set of records stored under that name, not the app's real user accounts, which are managed through their own endpoints.

Name of the entity, exactly as List entity schemas reports it. Don't pass User here. It doesn't fail, but it reads and writes a separate, disconnected set of records stored under that name, not the app's real user accounts, which are managed through their own endpoints.

Request body

idstring required

ID of the record to change, as id in the response of List entity records.

Example request

[
  {
    "id": "6886b8d390dc7e2f4a2c91b3"
  }
]

Response

The updated records.

idstring nullable

ID of the record. Pass it as entity_id to Get entity record, Update entity record or Delete entity record.

created_datestring nullable

When the record was created, as a UTC timestamp in ISO 8601 format. A record Base44 has just created carries a Z suffix, and a record read back from storage does not.

updated_datestring nullable

When the record last changed, as a UTC timestamp in ISO 8601 format. A record Base44 has just created carries a Z suffix, and a record read back from storage does not.

created_bystring nullable

Email of the app user who created the record, or anonymous when a visitor created it on an app that needs no login. Apps that hide record authorship leave this field out of the response.

created_by_idstring nullable

ID of the app user who created the record, or anonymous when a visitor created it on an app that needs no login.

is_sampleboolean nullable

Whether Base44 stored the record as sample data while the app was being built. A record you create reports false.

Example response

[
  {
    "id": "6886b8d390dc7e2f4a2c91b3",
    "created_date": "2026-06-01T09:23:41.481000",
    "updated_date": "2026-06-04T14:07:02.115000",
    "created_by": "jane@acme.com",
    "created_by_id": "6874b0c2e1a94d0031bb77de"
  }
]

Changes

Changed in 1 of the 33 revisions of this API.1