curl --request POST \
--url https://hiresweep.com/api/openapi/applications/{id}/rescore \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'import requests
url = "https://hiresweep.com/api/openapi/applications/{id}/rescore"
payload = {}
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({})
};
fetch('https://hiresweep.com/api/openapi/applications/{id}/rescore', 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/applications/{id}/rescore",
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([
]),
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/applications/{id}/rescore"
payload := strings.NewReader("{}")
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/applications/{id}/rescore")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hiresweep.com/api/openapi/applications/{id}/rescore")
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 = "{}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"clientId": "<string>",
"jobPostingId": "<string>",
"resumeId": "<string>",
"status": "saved",
"statusChangedAt": "2023-11-07T05:31:56Z",
"matchScore": 50,
"matchScorecard": {
"dimensions": [
{
"dimension": "<string>",
"score": 50,
"rationale": "<string>"
}
],
"missingKeywords": [
"<string>"
],
"strengths": [
"<string>"
],
"modelMeta": {
"provider": "<string>",
"model": "<string>"
},
"updatedAt": "2023-11-07T05:31:56Z",
"resume": {
"id": "<string>",
"name": "<string>"
}
},
"tailoredResumeId": "<string>",
"tailoring": {
"sourceResumeId": "<string>",
"changes": [
{
"kind": "headline",
"label": "<string>",
"before": "<string>",
"after": "<string>",
"reason": "<string>"
}
],
"refused": [
{
"kind": "headline",
"label": "<string>",
"reason": "<string>"
}
],
"match": {
"score": 50,
"dimensions": [
{
"dimension": "<string>",
"score": 50,
"rationale": "<string>"
}
]
},
"modelMeta": {
"provider": "<string>",
"model": "<string>"
},
"updatedAt": "2023-11-07T05:31:56Z",
"sourceScore": 50
},
"tailorError": "<string>",
"applySource": "tailored",
"notes": "<string>",
"coverLetter": "<string>",
"coverLetterTone": "neutral",
"coverLetterGeneratedAt": "2023-11-07T05:31:56Z",
"submittedVia": "manual",
"submittedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"posting": {
"id": "<string>",
"clientId": "<string>",
"source": "manual",
"externalId": "<string>",
"url": "<string>",
"title": "<string>",
"company": "<string>",
"location": "<string>",
"isRemote": true,
"employmentType": "full_time",
"salaryMin": -1,
"salaryMax": -1,
"salaryCurrency": "<string>",
"descriptionRaw": "<string>",
"descriptionParsed": {
"summary": "<string>",
"responsibilities": [
"<string>"
],
"requirements": [
"<string>"
],
"keywords": [
"<string>"
]
},
"postedAt": "2023-11-07T05:31:56Z",
"fetchedAt": "2023-11-07T05:31:56Z",
"reviewError": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"resume": {
"id": "<string>",
"name": "<string>"
}
}{
"defined": true,
"code": "BAD_GATEWAY",
"status": 502,
"message": "The AI provider could not score the resume.",
"data": "<unknown>"
}Score the chosen resume against the posting already read
Scores the application’s chosen resume against the posting text its review already stored, without fetching the page again, and replaces the match. The posting and the status are unchanged. Requires a chosen resume and a reviewed posting. Requires authentication.
curl --request POST \
--url https://hiresweep.com/api/openapi/applications/{id}/rescore \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'import requests
url = "https://hiresweep.com/api/openapi/applications/{id}/rescore"
payload = {}
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({})
};
fetch('https://hiresweep.com/api/openapi/applications/{id}/rescore', 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/applications/{id}/rescore",
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([
]),
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/applications/{id}/rescore"
payload := strings.NewReader("{}")
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/applications/{id}/rescore")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hiresweep.com/api/openapi/applications/{id}/rescore")
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 = "{}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"clientId": "<string>",
"jobPostingId": "<string>",
"resumeId": "<string>",
"status": "saved",
"statusChangedAt": "2023-11-07T05:31:56Z",
"matchScore": 50,
"matchScorecard": {
"dimensions": [
{
"dimension": "<string>",
"score": 50,
"rationale": "<string>"
}
],
"missingKeywords": [
"<string>"
],
"strengths": [
"<string>"
],
"modelMeta": {
"provider": "<string>",
"model": "<string>"
},
"updatedAt": "2023-11-07T05:31:56Z",
"resume": {
"id": "<string>",
"name": "<string>"
}
},
"tailoredResumeId": "<string>",
"tailoring": {
"sourceResumeId": "<string>",
"changes": [
{
"kind": "headline",
"label": "<string>",
"before": "<string>",
"after": "<string>",
"reason": "<string>"
}
],
"refused": [
{
"kind": "headline",
"label": "<string>",
"reason": "<string>"
}
],
"match": {
"score": 50,
"dimensions": [
{
"dimension": "<string>",
"score": 50,
"rationale": "<string>"
}
]
},
"modelMeta": {
"provider": "<string>",
"model": "<string>"
},
"updatedAt": "2023-11-07T05:31:56Z",
"sourceScore": 50
},
"tailorError": "<string>",
"applySource": "tailored",
"notes": "<string>",
"coverLetter": "<string>",
"coverLetterTone": "neutral",
"coverLetterGeneratedAt": "2023-11-07T05:31:56Z",
"submittedVia": "manual",
"submittedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"posting": {
"id": "<string>",
"clientId": "<string>",
"source": "manual",
"externalId": "<string>",
"url": "<string>",
"title": "<string>",
"company": "<string>",
"location": "<string>",
"isRemote": true,
"employmentType": "full_time",
"salaryMin": -1,
"salaryMax": -1,
"salaryCurrency": "<string>",
"descriptionRaw": "<string>",
"descriptionParsed": {
"summary": "<string>",
"responsibilities": [
"<string>"
],
"requirements": [
"<string>"
],
"keywords": [
"<string>"
]
},
"postedAt": "2023-11-07T05:31:56Z",
"fetchedAt": "2023-11-07T05:31:56Z",
"reviewError": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"resume": {
"id": "<string>",
"name": "<string>"
}
}{
"defined": true,
"code": "BAD_GATEWAY",
"status": 502,
"message": "The AI provider could not score the resume.",
"data": "<unknown>"
}Authorizations
An API key from Settings → Developers → API keys in Hiresweep.
Path Parameters
Body
The body is of type object.
Response
The application with its new match.
The ID of the application.
The client this application is for; null for your own.
Where the application stands in the pipeline.
saved, reviewing, reviewed, tailoring, ready, applying, needs_action, submitted, screening, interview, offer, rejected, withdrawn, ghosted How well the chosen resume answers the posting.
0 <= x <= 100The per-dimension breakdown behind the score.
Show child attributes
Show child attributes
The copy of the chosen resume tailored to this posting, if any.
What tailoring changed, what it refused, and how the copy scores.
Show child attributes
Show child attributes
Why the last tailoring failed, if it did.
Whether an apply run attaches the tailored copy or the resume itself.
tailored, original The user's own notes about this application.
The application's cover letter as plain text, once there is one.
The tone the cover letter was last written in.
neutral, warm, formal, concise When the cover letter was last written by AI.
Whether the application was sent by hand or assisted.
manual, assisted Show child attributes
Show child attributes
Show child attributes
Show child attributes