curl --request GET \
--url https://hiresweep.com/api/openapi/discovery/runs/{id}/matches \
--header 'x-api-key: <api-key>'import requests
url = "https://hiresweep.com/api/openapi/discovery/runs/{id}/matches"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://hiresweep.com/api/openapi/discovery/runs/{id}/matches', 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}/matches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://hiresweep.com/api/openapi/discovery/runs/{id}/matches"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://hiresweep.com/api/openapi/discovery/runs/{id}/matches")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hiresweep.com/api/openapi/discovery/runs/{id}/matches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"runId": "<string>",
"clientId": "<string>",
"resumeId": "<string>",
"url": "<string>",
"originalUrl": "<string>",
"externalId": "<string>",
"board": "greenhouse",
"title": "<string>",
"company": "<string>",
"location": "<string>",
"isRemote": true,
"postedAt": "2023-11-07T05:31:56Z",
"snippet": "<string>",
"salary": "<string>",
"companyStage": "early",
"targetTitles": [
"<string>"
],
"score": 50,
"fitReason": "<string>",
"fitGap": "<string>",
"state": "new",
"applicationId": "<string>",
"foundAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]List the jobs a Discovery run found
Returns a run’s Matches, best ranked first, each in its state as of now. Matches arrive while the run searches. Requires authentication.
curl --request GET \
--url https://hiresweep.com/api/openapi/discovery/runs/{id}/matches \
--header 'x-api-key: <api-key>'import requests
url = "https://hiresweep.com/api/openapi/discovery/runs/{id}/matches"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://hiresweep.com/api/openapi/discovery/runs/{id}/matches', 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}/matches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://hiresweep.com/api/openapi/discovery/runs/{id}/matches"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://hiresweep.com/api/openapi/discovery/runs/{id}/matches")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hiresweep.com/api/openapi/discovery/runs/{id}/matches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"runId": "<string>",
"clientId": "<string>",
"resumeId": "<string>",
"url": "<string>",
"originalUrl": "<string>",
"externalId": "<string>",
"board": "greenhouse",
"title": "<string>",
"company": "<string>",
"location": "<string>",
"isRemote": true,
"postedAt": "2023-11-07T05:31:56Z",
"snippet": "<string>",
"salary": "<string>",
"companyStage": "early",
"targetTitles": [
"<string>"
],
"score": 50,
"fitReason": "<string>",
"fitGap": "<string>",
"state": "new",
"applicationId": "<string>",
"foundAt": "2023-11-07T05:31:56Z",
"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 Discovery run.
1Query Parameters
The client whose data this is, for an operator applying on behalf of clients. Omit for your own.
1Response
The run's Matches.
The ID of the Match.
The client this Match is for; null for your own.
The link to the job, reduced to the job itself.
The company job board (the applicant tracking system) the job was found on, such as greenhouse, lever, ashby or workday; linkedin or indeed only for jobs found before those were retired.
greenhouse, lever, ashby, workday, smartrecruiters, workable, recruitee, personio, rippling, gem, bamboohr, breezy, pinpoint, teamtailor, jazzhr, jobvite, homerun, trakstar, polymer, comeet, hibob, remoteok, weworkremotely, himalayas, jobicy, arbeitnow, adzuna, usajobs, linkedin, indeed The pay the board lists, as it words it; null when it does not say.
How far along the company is: early (seed to Series B), growth, or public; null when unknown.
early, growth, public Every Target whose search found this job.
A rough fit from keyword overlap; the review scores accurately.
0 <= x <= 100The AI's one sentence on why the job fits the resume, once asked for; null until then.
The AI's line on the job's biggest gap against the resume, written with the reason; null if none.
New, added, tracked, dismissed, or expired.
new, added, tracked, dismissed, expired The Application Add job led to, if any.