/api/v1/object/data/{objectSlug}/bulk-updateApply the same change to up to 500 records.
Apply the same change to up to 500 records.
Writes data (keyed by field slug), relations (keyed by relation slug),
admin_slug and the linked record to every record in slugs, in one
transaction: when one record fails its check or validation, nothing is
written. Slugs that match no record are skipped. data.updatedCount says
how many records changed, and data.relatedSlugs lists the other objects
whose records the relation changes touched. The same values are dropped
as on create and listed in dropped_fields. For larger selections or a
per-record report, use POST /object/data/{objectSlug}/bulk-actions.
Scope: update.<object slug>, for example update.contacts.
Errors:
400— a value is invalid, a required relation is missing, the linked record does not exist, or no active object has that slug.403— the credential may not edit one of the records.422—slugsis empty or holds more than 500 slugs.
Request:
{
"slugs": ["9f2c4b7a1e03", "c83e1a5f2d97"],
"data": { "stage-k2j9h4g7": "b2c4d6e8-1a3b-4c5d-8e7f-9a0b1c2d3e4f" }
}
Response 200:
{
"status": 200,
"message": "Bulk update completed",
"data": {
"updatedCount": 2,
"relatedSlugs": []
}
}
Send request
Use the documented inputs to call this endpoint directly.
Parameters
Values are applied to the request and the example on the right.
Request body
application/jsonrequiredSlug of the object that owns linked_data_slug.
Optional for back-compat: a client that sends only linked_data_slug still
links, resolved by scanning object tables for that slug. Sending it here
skips the scan and, more importantly, removes the ambiguity — slugs are
unique per table, not per workspace, so two objects can hold the same one.
Responses
Successful response
{
"dropped_fields": "string",
"message": "string",
"data": "string"
}Bad request
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Unauthorized
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Internal server error
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Powered by heyo-docs