Upsert Row
Insert a new row or update an existing one based on a unique column value. The table must have at least one column with a unique constraint. If a row with a matching unique value exists, it is updated; otherwise, a new row is inserted. When multiple unique columns exist, specify `conflictTarget` to indicate which column to match on.
/api/v1/tables/{tableId}/rows/upsertAuthorization
apiKey Your Sim API key (personal or workspace). Generate one from the Sim dashboard under Settings > API Keys.
In: header
Path Parameters
The unique identifier of the table.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST \ "https://www.sim.ai/api/v1/tables/{tableId}/rows/upsert" \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "workspaceId": "YOUR_WORKSPACE_ID", "data": { "email": "user@example.com", "name": "John" } }'{
"success": true,
"data": {
"row": {
"id": "row_abc123",
"data": {
"email": "user@example.com",
"name": "John Doe"
},
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-15T10:30:00Z"
},
"operation": "insert",
"message": "Row inserted successfully"
}
}{
"error": "string",
"details": [
{}
]
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}