Delete job
curl --request DELETE \
--url https://api.instaview.sk/jobs/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instaview.sk/jobs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.instaview.sk/jobs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instaview.sk/jobs/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.instaview.sk/jobs/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.instaview.sk/jobs/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.instaview.sk/jobs/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deleted": true
}Jobs
Delete Job
Permanently deletes a job that belongs to the API key’s company. This action cannot be undone, and the delete cascades: the job’s contacts and their conversations are deleted with it, not just the assignments between them. Set status to CLOSED instead to retire a job without losing data.
DELETE
/
jobs
/
{id}
Delete job
curl --request DELETE \
--url https://api.instaview.sk/jobs/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instaview.sk/jobs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.instaview.sk/jobs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instaview.sk/jobs/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.instaview.sk/jobs/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.instaview.sk/jobs/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.instaview.sk/jobs/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deleted": true
}Permanently deletes a job posting, and every contact and conversation attached to it. This action cannot be undone.
Overview
This endpoint removes a job posting from your account. It is the widest-reaching delete in the public API: the cascade takes the job’s contacts and their conversations with it, not just the links between them.Use Cases
- Remove Obsolete Jobs: Clean up jobs that are no longer relevant
- Archive Old Postings: Permanently remove outdated job postings
- Compliance: Delete jobs for data retention compliance
- Organization: Maintain a clean job library
Permanent Deletion Behavior
Deletion is irreversible, and it removes the job’s language requirements and job links along with the posting itself.
Impact on Existing Data
The cascade deletes contacts and conversations. Every contact whose job this is goes, and
so does every conversation of theirs — transcripts, recordings and analyses included. A
contact assigned to this job and others is deleted too: the cascade is by job, not by
“contacts left with no job”. None of it is readable through the API afterwards.If you only want to stop using a job, set its
status to CLOSED instead — that changes
nothing else. Delete it only when you intend to lose the data attached to it.Company Isolation
You can only delete jobs that belong to your API key’s company. A job from another company answers404 Not Found — the same status and the same body as an id that exists nowhere, so the response never confirms that an id exists somewhere else.
Error Scenarios
- 404 Not Found: No job with that id is available to your API key. It does not exist, it has already been deleted, or it belongs to another company — the three are deliberately indistinguishable, so do not branch on this status to detect a permission problem.
This route does not treat a delete of an unknown id as a no-op success. It used to answer
200 with "data": false for an id that never existed; it now answers 404, matching DELETE /agents/{id}. A 200 means a job was really deleted.Related Resources
Jobs Resource Guide
Learn about job management
List Jobs
View all active jobs
Create Job
Create new job postings
Authorizations
API key for authentication using Bearer scheme
Path Parameters
Query Parameters
Required for ATS API keys to specify which company to access. Ignored for standard company API keys.