Skip to main content

Update Bulk Records

Updates all records that match the given filter criteria. Unlike Update Single Record, this endpoint does not check how many records match -- it applies the update to every matching row.

caution

Use this endpoint with care. Broad filters can update many records at once. Always test your filters first with a read operation to verify they match the expected records.

Endpoint

PATCH /integration/tables/:table/records/bulk

Authentication

Requires a valid API token in the Authorization header.

Path Parameters

ParameterTypeRequiredDescription
tablestringYesThe internal table name (from Get Tables)

Request Body

FieldTypeRequiredDescription
filtersobjectYesKey-value pairs used to match records. Must contain at least one filter. All filters are combined with AND logic using equality matching.
fieldsobjectYesKey-value pairs of field names and new values to set. Must contain at least one field.
warning

You cannot update primary key columns (such as fid). The API will reject the request if you include them in fields.

Response

FieldTypeDescription
successbooleantrue on success
tablestringThe table that was updated
updatednumberNumber of rows actually modified

Examples

Update all customers in a city

Request

curl -X PATCH "https://api.ozari.co.il/integration/tables/tcust/records/bulk" \
-H "Authorization: Bearer your-api-token-here" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"fcity": "חיפה"
},
"fields": {
"fnotes": "אזור צפון - עדכון מרץ 2026"
}
}'

Response

{
"success": true,
"table": "tcust",
"updated": 23
}

Update all tasks with a specific status

Request

curl -X PATCH "https://api.ozari.co.il/integration/tables/tworkx/records/bulk" \
-H "Authorization: Bearer your-api-token-here" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"fstatus": "ממתין"
},
"fields": {
"fstatus": "בטיפול"
}
}'

Response

{
"success": true,
"table": "tworkx",
"updated": 7
}

Error Responses

Missing filters or fields

{
"success": false,
"error": "\"filters\" is required"
}

Status: 400 Bad Request

Attempting to update primary key

{
"success": false,
"error": "Cannot set primary key column: fid"
}

Status: 400 Bad Request

Invalid field name

{
"success": false,
"error": "Invalid field name: bad-name"
}

Status: 400 Bad Request

Comparison: Single vs. Bulk Update

FeatureSingle (/records/single)Bulk (/records/bulk)
Matches 0 recordsReturns 404 errorSilently updates 0
Matches 1 recordUpdates itUpdates it
Matches N recordsReturns 409 errorUpdates all N
Response includes matchedYesNo

Notes

  • The updated count reflects the number of rows the database engine actually modified. If the new values are identical to the existing values, those rows may not be counted.
  • All filters use equality matching (=), combined with AND logic.
  • There is no limit on the number of records that can be updated in a single bulk request.