Moves a job to the trash. Nothing is actually destroyed -- its run history is preserved, and its name is freed up for reuse. See Restore a Job to bring it back, or Empty the Trash for real, irreversible deletion.

Having trouble reaching the API, or logging in from another machine? See Network Access & Authentication Security -- by default the Api only answers localhost, and PowerShell needs an extra flag once it does answer elsewhere.

Order of Operations

  1. Authenticate to the API.
  2. Get the job's id (by name or from the list).
  3. Request the delete.

The call

DELETE /api/jobs/{jobId}

Permission needed: Job.Edit on this job.

C# example

var jsonOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web);

// Step 1: Authenticate to the API.
using var handler = new HttpClientHandler { UseDefaultCredentials = true };
using var client = new HttpClient(handler) { BaseAddress = new Uri("http://your-minion-agent-server:5443") };
client.DefaultRequestHeaders.Add("X-App-Name", "MyIntegration");

// Step 2: Get the job's id by name.
var jobName = Uri.EscapeDataString("Old Reporting Job");
var job = await (await client.GetAsync($"/api/jobs/by-name/{jobName}")).Content.ReadFromJsonAsync<JobRef>(jsonOptions);

// Step 3: Request the delete.
var response = await client.DeleteAsync($"/api/jobs/{job!.JobID}");
response.EnsureSuccessStatusCode();
Console.WriteLine("Moved to trash.");

record JobRef(int JobID);

Not on a domain machine? Swap in the app-account login from Calling the API From Your Own Code.

PowerShell example

# Step 1: Authenticate to the API.
$headers = @{ "X-App-Name" = "MyIntegration" }

# Step 2: Get the job's id by name. (-AllowUnencryptedAuthentication: PowerShell requires this for Windows auth over plain http to anything but localhost -- see "Network Access & Authentication Security".)
$jobName = [Uri]::EscapeDataString("Old Reporting Job")
$job = Invoke-RestMethod -Uri "http://your-minion-agent-server:5443/api/jobs/by-name/$jobName" -UseDefaultCredentials -AllowUnencryptedAuthentication -Headers $headers

# Step 3: Request the delete.
Invoke-RestMethod -Uri "http://your-minion-agent-server:5443/api/jobs/$($job.jobID)" `
    -Method Delete -UseDefaultCredentials -AllowUnencryptedAuthentication -Headers $headers

"Moved to trash."

What you get back

204 No Content -- no body.

Codes this call can return

See API Response Codes for what each one means in general. For this specific call:

  • 204 -- moved to trash.
  • 403 -- you don't have Job.Edit on this job.

This call doesn't check whether the job id actually exists -- passing a bad id still returns 204 with no effect, rather than a 404.

See also: List Deleted Jobs, Restore a Job, Empty the Trash.