The force parameter to the Delete Inference API allows a caller to delete an inference endpoint even if it is used by a semantic text field.
A user could force delete an inference endpoint used in semantic then create another one with the same id that uses a completely difference model or a different task type entirely. Search or ingest against that semantic text field would then be broken in a hard to debug way.
To prevent this scenario, when an inference endpoint is created check for any semantic text fields that use the same inference Id. If the vital settings are equivalent (task type, embedding type, number of dimensions etc) then allow the creation otherwise prevent it.