curl --request POST "https://rxresu.me/api/openapi/cover-letters/<id>/copies" --header "x-api-key: <api-key>" --header "Content-Type: application/json" --data '{}'import requests
url = "https://rxresu.me/api/openapi/cover-letters/{id}/copies"
payload = { "name": "<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({name: '<string>'})
};
fetch('https://rxresu.me/api/openapi/cover-letters/{id}/copies', 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}/copies",
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([
'name' => '<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}/copies"
payload := strings.NewReader("{\n \"name\": \"<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://rxresu.me/api/openapi/cover-letters/{id}/copies")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rxresu.me/api/openapi/cover-letters/{id}/copies")
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 \"name\": \"<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>"
}Duplicate a cover letter
Creates a copy of an existing saved cover letter, optionally with a new name.
curl --request POST "https://rxresu.me/api/openapi/cover-letters/<id>/copies" --header "x-api-key: <api-key>" --header "Content-Type: application/json" --data '{}'import requests
url = "https://rxresu.me/api/openapi/cover-letters/{id}/copies"
payload = { "name": "<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({name: '<string>'})
};
fetch('https://rxresu.me/api/openapi/cover-letters/{id}/copies', 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}/copies",
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([
'name' => '<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}/copies"
payload := strings.NewReader("{\n \"name\": \"<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://rxresu.me/api/openapi/cover-letters/{id}/copies")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rxresu.me/api/openapi/cover-letters/{id}/copies")
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 \"name\": \"<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 - 100Response
The duplicated 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?