Import entity records from CSV
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Creates records in one of the app's entities from a CSV file, and returns the records it created.
Send the file as multipart/form-data in a field named file. The first row has to be a header row with no blank or repeated column names. Commas, semicolons, and tabs all work as the delimiter, and the file can be up to 10 MB.
Base44 pairs each of the entity's fields with the column of the same name, ignoring case, spaces, and punctuation. For any field it can't pair by name, an AI model picks a matching column or leaves the field out. Columns that match no field are ignored, and every required field needs a column.
The import is all or nothing. Every row is checked against the entity's schema before anything is written, and if one row fails, no records are created. A file Base44 can't import still returns a successful response, with status set to error and the reason in details, so read status before output.
Each row becomes a new record, so importing the same file twice creates every record twice. Row-level security applies, so the whole call is rejected when the entity's rls create rule doesn't cover one of the rows. Imported records don'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>
Path parameters
ID of the app that owns the entity.
ID of the app that owns the entity.
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.
Response
The import's outcome, including when the file couldn't be imported.
Example response
{
"status": "success",
"details": "Successfully imported 2 entities with RLS enforcement",
"output": [
{
"id": "6886b8d390dc7e2f4a2c91b3",
"created_date": "2026-06-01T09:23:41.481000Z",
"updated_date": "2026-06-01T09:23:41.481000Z",
"created_by": "jane@acme.com",
"created_by_id": "6874b0c2e1a94d0031bb77de",
"is_sample": false,
"amount": 4200,
"status": "draft",
"customer_email": "jane@acme.com"
}
]
}Changes
Changed in 1 of the 33 revisions of this API.1
- ○
endpoint added
endpoint-added
- ○