curl --request PATCH "https://rxresu.me/api/openapi/cover-letters/<id>" --header "x-api-key: <api-key>" --header "Content-Type: application/json" --data '{
"expectedRevision": 123
}'import requests
url = "https://rxresu.me/api/openapi/cover-letters/{id}"
payload = {
"expectedRevision": 4503599627370496,
"name": "<string>",
"recipient": "<string>",
"content": "<string>",
"greeting": "<string>",
"signOff": "<string>",
"metadata": {},
"recipientName": "<string>",
"recipientCompany": "<string>",
"letterDate": "<string>",
"resumeId": "<string>",
"applicationId": "<string>",
"senderLinked": True,
"designLinked": True,
"sessionId": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
expectedRevision: 4503599627370496,
name: '<string>',
recipient: '<string>',
content: '<string>',
greeting: '<string>',
signOff: '<string>',
metadata: {},
recipientName: '<string>',
recipientCompany: '<string>',
letterDate: '<string>',
resumeId: '<string>',
applicationId: '<string>',
senderLinked: true,
designLinked: true,
sessionId: '<string>'
})
};
fetch('https://rxresu.me/api/openapi/cover-letters/{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://rxresu.me/api/openapi/cover-letters/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'expectedRevision' => 4503599627370496,
'name' => '<string>',
'recipient' => '<string>',
'content' => '<string>',
'greeting' => '<string>',
'signOff' => '<string>',
'metadata' => [
],
'recipientName' => '<string>',
'recipientCompany' => '<string>',
'letterDate' => '<string>',
'resumeId' => '<string>',
'applicationId' => '<string>',
'senderLinked' => true,
'designLinked' => true,
'sessionId' => '<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://rxresu.me/api/openapi/cover-letters/{id}"
payload := strings.NewReader("{\n \"expectedRevision\": 4503599627370496,\n \"name\": \"<string>\",\n \"recipient\": \"<string>\",\n \"content\": \"<string>\",\n \"greeting\": \"<string>\",\n \"signOff\": \"<string>\",\n \"metadata\": {},\n \"recipientName\": \"<string>\",\n \"recipientCompany\": \"<string>\",\n \"letterDate\": \"<string>\",\n \"resumeId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"senderLinked\": true,\n \"designLinked\": true,\n \"sessionId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://rxresu.me/api/openapi/cover-letters/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"expectedRevision\": 4503599627370496,\n \"name\": \"<string>\",\n \"recipient\": \"<string>\",\n \"content\": \"<string>\",\n \"greeting\": \"<string>\",\n \"signOff\": \"<string>\",\n \"metadata\": {},\n \"recipientName\": \"<string>\",\n \"recipientCompany\": \"<string>\",\n \"letterDate\": \"<string>\",\n \"resumeId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"senderLinked\": true,\n \"designLinked\": true,\n \"sessionId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rxresu.me/api/openapi/cover-letters/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"expectedRevision\": 4503599627370496,\n \"name\": \"<string>\",\n \"recipient\": \"<string>\",\n \"content\": \"<string>\",\n \"greeting\": \"<string>\",\n \"signOff\": \"<string>\",\n \"metadata\": {},\n \"recipientName\": \"<string>\",\n \"recipientCompany\": \"<string>\",\n \"letterDate\": \"<string>\",\n \"resumeId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"senderLinked\": true,\n \"designLinked\": true,\n \"sessionId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"recipient": "<string>",
"content": "<string>",
"style": {
"basics": {
"name": "<string>",
"headline": "<string>",
"email": "<string>",
"phone": "<string>",
"location": "<string>",
"website": {
"url": "<string>",
"label": "<string>"
},
"customFields": [
{
"id": "<string>",
"icon": "<string>",
"text": "<string>",
"link": "<string>"
}
]
},
"picture": {
"hidden": true,
"fit": "cover",
"url": "<string>",
"size": 272,
"rotation": 180,
"aspectRatio": 1.5,
"borderRadius": 50,
"borderColor": "<string>",
"borderWidth": 1,
"shadowColor": "<string>",
"shadowWidth": 1
},
"metadata": {
"template": "azurill",
"page": {
"gapX": 1,
"gapY": 1,
"marginX": 50,
"marginY": 50,
"format": "a4",
"locale": "<string>",
"hideLinkUnderline": true,
"hideIcons": true,
"hideSectionIcons": true,
"dateFormat": "short"
},
"design": {
"level": {
"icon": "<string>",
"type": "hidden"
},
"colors": {
"primary": "<string>",
"text": "<string>",
"background": "<string>"
}
},
"typography": {
"body": {
"fontFamily": "<string>",
"fontWeights": [
"100"
],
"fontSize": 15,
"lineHeight": 2.25
},
"heading": {
"fontFamily": "<string>",
"fontWeights": [
"100"
],
"fontSize": 15,
"lineHeight": 2.25
},
"hyphenation": true
},
"styleRules": "<unknown>",
"stylesheet": {
"mode": "legacy",
"source": {
"languageVersion": 0,
"text": "<string>"
}
},
"check": {
"ignored": [
"<string>"
],
"hiddenTerms": [
"<string>"
]
}
},
"sectionId": "<string>",
"itemId": "<string>"
},
"id": "<string>",
"sourceResumeId": "<string>",
"sourceApplicationId": "<string>",
"senderLinked": true,
"designLinked": true,
"isLocked": true,
"revision": 4503599627370496,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"greeting": "<string>",
"signOff": "<string>",
"layout": "freeform",
"recipientName": "",
"recipientCompany": "",
"letterDate": "<string>"
}{
"defined": true,
"code": "<string>",
"status": 123,
"message": "<string>",
"data": "<unknown>"
}Update a cover letter
Updates the supplied fields of a saved cover letter using its expected revision.
curl --request PATCH "https://rxresu.me/api/openapi/cover-letters/<id>" --header "x-api-key: <api-key>" --header "Content-Type: application/json" --data '{
"expectedRevision": 123
}'import requests
url = "https://rxresu.me/api/openapi/cover-letters/{id}"
payload = {
"expectedRevision": 4503599627370496,
"name": "<string>",
"recipient": "<string>",
"content": "<string>",
"greeting": "<string>",
"signOff": "<string>",
"metadata": {},
"recipientName": "<string>",
"recipientCompany": "<string>",
"letterDate": "<string>",
"resumeId": "<string>",
"applicationId": "<string>",
"senderLinked": True,
"designLinked": True,
"sessionId": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
expectedRevision: 4503599627370496,
name: '<string>',
recipient: '<string>',
content: '<string>',
greeting: '<string>',
signOff: '<string>',
metadata: {},
recipientName: '<string>',
recipientCompany: '<string>',
letterDate: '<string>',
resumeId: '<string>',
applicationId: '<string>',
senderLinked: true,
designLinked: true,
sessionId: '<string>'
})
};
fetch('https://rxresu.me/api/openapi/cover-letters/{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://rxresu.me/api/openapi/cover-letters/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'expectedRevision' => 4503599627370496,
'name' => '<string>',
'recipient' => '<string>',
'content' => '<string>',
'greeting' => '<string>',
'signOff' => '<string>',
'metadata' => [
],
'recipientName' => '<string>',
'recipientCompany' => '<string>',
'letterDate' => '<string>',
'resumeId' => '<string>',
'applicationId' => '<string>',
'senderLinked' => true,
'designLinked' => true,
'sessionId' => '<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://rxresu.me/api/openapi/cover-letters/{id}"
payload := strings.NewReader("{\n \"expectedRevision\": 4503599627370496,\n \"name\": \"<string>\",\n \"recipient\": \"<string>\",\n \"content\": \"<string>\",\n \"greeting\": \"<string>\",\n \"signOff\": \"<string>\",\n \"metadata\": {},\n \"recipientName\": \"<string>\",\n \"recipientCompany\": \"<string>\",\n \"letterDate\": \"<string>\",\n \"resumeId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"senderLinked\": true,\n \"designLinked\": true,\n \"sessionId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://rxresu.me/api/openapi/cover-letters/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"expectedRevision\": 4503599627370496,\n \"name\": \"<string>\",\n \"recipient\": \"<string>\",\n \"content\": \"<string>\",\n \"greeting\": \"<string>\",\n \"signOff\": \"<string>\",\n \"metadata\": {},\n \"recipientName\": \"<string>\",\n \"recipientCompany\": \"<string>\",\n \"letterDate\": \"<string>\",\n \"resumeId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"senderLinked\": true,\n \"designLinked\": true,\n \"sessionId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rxresu.me/api/openapi/cover-letters/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"expectedRevision\": 4503599627370496,\n \"name\": \"<string>\",\n \"recipient\": \"<string>\",\n \"content\": \"<string>\",\n \"greeting\": \"<string>\",\n \"signOff\": \"<string>\",\n \"metadata\": {},\n \"recipientName\": \"<string>\",\n \"recipientCompany\": \"<string>\",\n \"letterDate\": \"<string>\",\n \"resumeId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"senderLinked\": true,\n \"designLinked\": true,\n \"sessionId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"recipient": "<string>",
"content": "<string>",
"style": {
"basics": {
"name": "<string>",
"headline": "<string>",
"email": "<string>",
"phone": "<string>",
"location": "<string>",
"website": {
"url": "<string>",
"label": "<string>"
},
"customFields": [
{
"id": "<string>",
"icon": "<string>",
"text": "<string>",
"link": "<string>"
}
]
},
"picture": {
"hidden": true,
"fit": "cover",
"url": "<string>",
"size": 272,
"rotation": 180,
"aspectRatio": 1.5,
"borderRadius": 50,
"borderColor": "<string>",
"borderWidth": 1,
"shadowColor": "<string>",
"shadowWidth": 1
},
"metadata": {
"template": "azurill",
"page": {
"gapX": 1,
"gapY": 1,
"marginX": 50,
"marginY": 50,
"format": "a4",
"locale": "<string>",
"hideLinkUnderline": true,
"hideIcons": true,
"hideSectionIcons": true,
"dateFormat": "short"
},
"design": {
"level": {
"icon": "<string>",
"type": "hidden"
},
"colors": {
"primary": "<string>",
"text": "<string>",
"background": "<string>"
}
},
"typography": {
"body": {
"fontFamily": "<string>",
"fontWeights": [
"100"
],
"fontSize": 15,
"lineHeight": 2.25
},
"heading": {
"fontFamily": "<string>",
"fontWeights": [
"100"
],
"fontSize": 15,
"lineHeight": 2.25
},
"hyphenation": true
},
"styleRules": "<unknown>",
"stylesheet": {
"mode": "legacy",
"source": {
"languageVersion": 0,
"text": "<string>"
}
},
"check": {
"ignored": [
"<string>"
],
"hiddenTerms": [
"<string>"
]
}
},
"sectionId": "<string>",
"itemId": "<string>"
},
"id": "<string>",
"sourceResumeId": "<string>",
"sourceApplicationId": "<string>",
"senderLinked": true,
"designLinked": true,
"isLocked": true,
"revision": 4503599627370496,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"greeting": "<string>",
"signOff": "<string>",
"layout": "freeform",
"recipientName": "",
"recipientCompany": "",
"letterDate": "<string>"
}{
"defined": true,
"code": "<string>",
"status": 123,
"message": "<string>",
"data": "<unknown>"
}Authorizations
The API key to authenticate requests.
Path Parameters
1Body
1 <= x <= 90071992547409911 - 1002000010000020002000Sets the letter's own template, which unlinks its design.
azurill, bronzor, chikorita, ditgar, ditto, gengar, glalie, kakuna, lapras, leafish, meowth, onyx, pikachu, porygon, rhyhorn, scizor, smeargle Sets the letter's own type, colors and page settings, which unlinks its design.
Show child attributes
Show child attributes
200200^\d{4}-\d{2}-\d{2}$The resume the letter goes with.
1The job the letter is for.
1Take the sender's details live from the resume.
Take the design live from the resume.
The editing session; its saves share one History version, refreshed every two minutes.
1 - 64Response
The updated cover letter.
1 - 10020000100000Show child attributes
Show child attributes
The sender's details come live from the source resume, instead of the copy in style.
The design comes live from the source resume, instead of the copy in style.
Locked letters can't be edited or moved to Trash until they're unlocked.
1 <= x <= 9007199254740991Custom greeting; null uses the document language default, empty omits it.
2000Custom signature including name and optional contact details; null uses the document language default with the sender's name, empty omits it.
2000structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).
structured, freeform Who the letter is to: a person, or a team.
200200The letter's date, as YYYY-MM-DD.
^\d{4}-\d{2}-\d{2}$Was this page helpful?