SnozeDevelopers
API referenceDatabase templates

Import records into a database from CSV

Parses a CSV document and creates one record per row, mapping columns to fields either through explicit `mappings` or by matching column headers to field keys and labels, and reports how many rows were created, skipped, and which failed. Requires `records:write` on the database. Rejected when the CSV exceeds 10 MB, 500 columns, or 50,000 rows, when it has duplicate or unterminated columns, when a mapping targets the same field twice, or when a mapped column is not present; `onError` decides whether a bad row aborts the import or is skipped.

POST
/v1/workspaces/{workspaceId}/databases/{databaseId}/import/csv

Authorization

apiKey
headerAuthorizationBearer <snoze_sk_…>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

Path Parameters

workspaceId*string
databaseId*string

Request Body

application/json
  1. body
csv*string
mappings?array<>|null
titleColumn?string|null
onError?|null

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.snoze.dev/v1/workspaces/string/databases/string/import/csv' \  -H 'Content-Type: application/json' \  -d '{  "csv": "string"}'
Example Response
{  "data": {    "created": 0,    "skipped": 0,    "errors": [      {        "row": 0,        "message": "string"      }    ]  }}