List entity records

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

Returns the records held in one of the app's entities. Deleted records are left out.

Row-level security applies, so you only get the records the entity's rls read rule lets your credential see. An entity with no rls rules returns every record.

Filter records with the q parameter, or by passing one of the entity's own field names directly as a query parameter for an exact match. For example, ?status=paid is equivalent to q={"status": "paid"}. Only q supports comparisons like $gt. An unrecognized parameter name is still treated as a filter, so a misspelled field name matches nothing rather than returning an error.

Returns at most 5000 records per call, whether you leave limit out or ask for more. The response doesn't indicate when it was cut short, so use skip to page through a larger entity.

<Note>This endpoint accepts a personal API key belonging to a user with access to the app, including a read-only key. Workspace API keys are not accepted.</Note>

get/api/apps/{app_id}/entities/{entity_name}

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.

Query parameters

qstring

Filter as a JSON object of field names and values, for example {"status": "paid"} for an exact match, or using an operator such as $gt for a comparison. See Filtering, sorting, and paging for a full list of operators.

limitinteger

Maximum number of records to return, from 1 to 5000. Defaults to 5000, and Base44 returns at most 5000 records however high you set this.

skipinteger

Number of records to skip before the ones you get back, 0 or more. Defaults to 0. Use it with limit to page through an entity.

sortstring

Single field to sort by, prefixed with - for descending. For example, -created_date returns newest first. Sorting by more than one field isn't supported.

fieldsstring

Comma-separated list of fields to return, which reduces the response size on a wide entity. Reach a field inside an object with dots, as in customer.email. Each record still carries its id whether you ask for it or not.

Response

The entity's 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