Release 14.0 231101.14.0

This release brings more power and stability to deleting objects, including a new batch delete mutation in the API and moving more delete processing into background tasks to make sure delete requests don't hang.

Features

Batch Delete 🗑️

A new batchDeleteObjects mutation allows you to delete up to 100 objects in a single request.

A task request will be returned by the request and all of the deletes, and delete processing, will be handled as a background task.

🚧

Delete post-processing

Keep in mind that when deleting objects, all of the relationships and availability are processed as background tasks and will take a few minutes to update.

This means that if you delete an object it may still be showing as available until the processing has finished.

Example of deleting multiple objects:

mutation {
  batchDeleteObjects(
    objects: [
      {uid: "01HE5DRV6QVCMXF5P8JQ5820XX"}, 
      {uid: "01HE5FEAD5G0QEZKXC2KAGD00R"}, 
      {uid: "01HE5FERMW1AN2ZMRN9EXE1YBX", language: "fr-FR"}, 
      {uid: "01HE5FERMW1AN2ZMRN9EXE1YBX", language: "de-DE"}
    ]
  ) {
    task_id
  }
}

Response:

{
  "task_id": "02a084db-676f-48b1-87d6-2b2bdcd4e17c"
}

When you supply a language to the batch delete mutation, as in the example, that translation will be deleted. If it is the only translation on that object, the whole object will be deleted.

Any errors such as UIDs or translations that don't exist will be ignored, and the batch deleted will continue on. An error message letting you know which objects/translations have been ignored will be in the task message logs.

Fixes

  • Fixed issues where some background tasks can fail during large ingests