curl --request POST \
--url https://hiresweep.com/api/openapi/discovery/matches/{matchId}/add \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"clientId": "<string>"
}
'import requests
url = "https://hiresweep.com/api/openapi/discovery/matches/{matchId}/add"
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/matches/{matchId}/add', 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/matches/{matchId}/add",
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/matches/{matchId}/add"
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/matches/{matchId}/add")
.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/matches/{matchId}/add")
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>",
"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"
}Add a found job as an Application
Sends the Match’s link through the same create a pasted link uses, in the Match’s workspace: a new Application gets the run’s resume when it has none, its review starts on Hiresweep AI, and the Match becomes added. A link the user already pursues joins that Application instead and the Match becomes tracked; no second Application is created. Requires authentication.
curl --request POST \
--url https://hiresweep.com/api/openapi/discovery/matches/{matchId}/add \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"clientId": "<string>"
}
'import requests
url = "https://hiresweep.com/api/openapi/discovery/matches/{matchId}/add"
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/matches/{matchId}/add', 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/matches/{matchId}/add",
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/matches/{matchId}/add"
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/matches/{matchId}/add")
.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/matches/{matchId}/add")
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>",
"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 Match.
1Body
The client whose data this is, for an operator applying on behalf of clients. Omit for your own.
1Response
The Match, added or tracked, with the Application it now links to.
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.