curl --request POST \
--url https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"clientId": "<string>"
}
'import requests
url = "https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate"
payload = { "clientId": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({clientId: '<string>'})
};
fetch('https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate', 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://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'clientId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate"
payload := strings.NewReader("{\n \"clientId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"clientId": "<string>",
"resumeId": "<string>",
"requestedTargetCount": 0,
"targets": [
{
"title": "<string>",
"keywords": [
"<string>"
],
"selected": true
}
],
"targetsGeneratingSince": "2023-11-07T05:31:56Z",
"filters": {
"locations": [
"<string>"
],
"remoteOnly": true,
"postedWithinDays": 1,
"companyStages": [
"early"
]
},
"status": "drafting",
"statusChangedAt": "2023-11-07T05:31:56Z",
"failureReason": "<string>",
"boardOutcomes": [
{
"board": "greenhouse",
"outcome": "ok",
"reason": "<string>"
}
],
"events": [
{
"at": "<string>",
"kind": "tool",
"label": "<string>",
"text": "<string>",
"error": true
}
],
"lastProgressAt": "2023-11-07T05:31:56Z",
"scheduleId": "<string>",
"scheduled": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Generate a drafting run's Targets again
Runs the recruiter prompt on the run’s resume again and replaces the draft’s Targets with a fresh, ticked list, returning at once while the new Targets land one by one; read the run until targetsGeneratingSince is null. Counts one AI action. Only a run still drafting, and not still generating, can be regenerated. A generation that fails before any Target arrives gives the draft back the Targets it had and records the reason. Requires authentication.
curl --request POST \
--url https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"clientId": "<string>"
}
'import requests
url = "https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate"
payload = { "clientId": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({clientId: '<string>'})
};
fetch('https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate', 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://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'clientId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate"
payload := strings.NewReader("{\n \"clientId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hiresweep.com/api/openapi/discovery/runs/{id}/regenerate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"clientId": "<string>",
"resumeId": "<string>",
"requestedTargetCount": 0,
"targets": [
{
"title": "<string>",
"keywords": [
"<string>"
],
"selected": true
}
],
"targetsGeneratingSince": "2023-11-07T05:31:56Z",
"filters": {
"locations": [
"<string>"
],
"remoteOnly": true,
"postedWithinDays": 1,
"companyStages": [
"early"
]
},
"status": "drafting",
"statusChangedAt": "2023-11-07T05:31:56Z",
"failureReason": "<string>",
"boardOutcomes": [
{
"board": "greenhouse",
"outcome": "ok",
"reason": "<string>"
}
],
"events": [
{
"at": "<string>",
"kind": "tool",
"label": "<string>",
"text": "<string>",
"error": true
}
],
"lastProgressAt": "2023-11-07T05:31:56Z",
"scheduleId": "<string>",
"scheduled": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Authorizations
An API key from Settings → Developers → API keys in Hiresweep.
Path Parameters
The ID of the drafting Discovery run.
1Body
The client whose data this is, for an operator applying on behalf of clients. Omit for your own.
1Response
The drafting run, with its new Targets being generated.
The ID of the Discovery run.
The client this run is for; null for your own.
The resume the run searches from; null once that resume is deleted.
How many Targets the recruiter prompt was asked for.
-9007199254740991 <= x <= 9007199254740991The job titles and ATS keywords, as the user edited them; ticked ones are searched.
Show child attributes
Show child attributes
When the recruiter prompt started writing this draft's Targets, which arrive one by one; null once it has finished or failed. A draft cannot be edited or searched while it is set.
The locations, remote-only, recency and company-stage filters this run searches under.
Show child attributes
Show child attributes
Drafting, searching, done, failed, or cancelled.
drafting, searching, done, failed, cancelled Why the run stopped, if it did: generating Targets while drafting, or the search once it failed.
What each board's search came to: it ran, the board blocked it, or it was cut short.
Show child attributes
Show child attributes
What the search did, line by line, latest last.
Show child attributes
Show child attributes
The latest sign of life from the search.
The repeating search that started this run, while it exists; null for a run started by hand.
Whether a repeating search started this run, rather than you.