diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs
index 23fed1f70..468d8b614 100644
--- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs
@@ -17,7 +17,6 @@ public interface IWorkflowDefinitionsApi
/// The request containing options for listing workflow definitions.
/// The version options.
/// The cancellation token.
- /// The response containing the workflow definitions.
[Get("/workflow-definitions?versionOptions={versionOptions}")]
Task ListAsync([Query]ListWorkflowDefinitionsRequest request, [Query]VersionOptions? versionOptions = default, CancellationToken cancellationToken = default);
@@ -28,7 +27,6 @@ public interface IWorkflowDefinitionsApi
/// The version options.
/// Whether to include the root activity of composite activities.
/// The cancellation token.
- /// The workflow definition.
[Get("/workflow-definitions/{definitionId}?versionOptions={versionOptions}&includeCompositeRoot={includeCompositeRoot}")]
Task GetAsync(string definitionId, VersionOptions? versionOptions = default, bool includeCompositeRoot = false, CancellationToken cancellationToken = default);
@@ -44,7 +42,6 @@ public interface IWorkflowDefinitionsApi
///
/// The name to check.
/// The cancellation token.
- /// A response containing a value indicating whether the name is unique.
[Get("/workflow-definitions/validation/is-name-unique?name={name}")]
Task GetIsNameUniqueAsync(string name, CancellationToken cancellationToken = default);
@@ -53,7 +50,6 @@ public interface IWorkflowDefinitionsApi
///
/// The request containing the workflow definition to save.
/// The cancellation token.
- /// The workflow definition.
[Post("/workflow-definitions")]
Task SaveAsync(SaveWorkflowDefinitionRequest request, CancellationToken cancellationToken = default);
@@ -62,7 +58,14 @@ public interface IWorkflowDefinitionsApi
///
/// The ID of the workflow definition to delete.
/// The cancellation token.
- /// The response.
[Delete("/workflow-definitions/{definitionId}")]
Task DeleteAsync(string definitionId, CancellationToken cancellationToken = default);
+
+ ///
+ /// Deletes many workflow definitions.
+ ///
+ /// The request containing the IDs of the workflow definitions to delete.
+ /// The cancellation token.
+ [Post("/bulk-actions/delete/workflow-definitions/by-definition-id")]
+ Task DeleteManyAsync(DeleteManyWorkflowDefinitionsRequest request, CancellationToken cancellationToken = default);
}
\ No newline at end of file
diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs
new file mode 100644
index 000000000..78de30900
--- /dev/null
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs
@@ -0,0 +1,21 @@
+namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
+
+///
+/// A request to delete many workflow definitions.
+///
+public class DeleteManyWorkflowDefinitionsRequest
+{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The IDs of the workflow definitions to delete.
+ public DeleteManyWorkflowDefinitionsRequest(IEnumerable definitionIds)
+ {
+ DefinitionIds = definitionIds.ToArray();
+ }
+
+ ///
+ /// Gets or sets the IDs of the workflow definitions to delete.
+ ///
+ public string[] DefinitionIds { get; set; }
+}
\ No newline at end of file
diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs
new file mode 100644
index 000000000..64dced1d4
--- /dev/null
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs
@@ -0,0 +1,7 @@
+namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
+
+///
+/// The response from a request to delete workflow definitions.
+///
+/// The number of workflow definitions deleted.
+public record DeleteManyWorkflowDefinitionsResponse(long Deleted);
\ No newline at end of file