Download letter PDF
curl --request GET \
--url https://aropay.aro.media/api/v1/transfer/letter/{id}/pdf \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://aropay.aro.media/api/v1/transfer/letter/{id}/pdf', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://aropay.aro.media/api/v1/transfer/letter/{id}/pdf"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)"<string>"{
"ok": false,
"error": {
"code": "invalid_api_key",
"message": "Invalid API key."
}
}{
"ok": false,
"error": {
"code": "account_disabled",
"message": "This account is disabled."
}
}{
"ok": false,
"error": {
"code": "letter_not_found",
"message": "Letter not found."
}
}{
"ok": false,
"error": {
"code": "letter_not_printable",
"message": "The letter is not printable until its escrow is confirmed."
}
}{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Too many requests. Try again shortly."
}
}{
"ok": false,
"error": {
"code": "internal_error",
"message": "An unexpected error occurred."
}
}Aro Mail
Download letter PDF
The printable letter: a single US Letter page with sender and
recipient blocks, the amount panel (sealed letters print
••••••• cAROUSD), the QR encoding claimUrl, the claim code for
manual entry, the expiry date and a one-time-claim warning.
Available from ESCROWED onwards. DRAFT and FAILED letters return
409 letter_not_printable. CLAIMED, VOIDED and EXPIRED letters
render with a large CLAIMED / VOID / EXPIRED stamp across the
page so a reprint cannot pass as live.
GET
/
transfer
/
letter
/
{id}
/
pdf
Download letter PDF
curl --request GET \
--url https://aropay.aro.media/api/v1/transfer/letter/{id}/pdf \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://aropay.aro.media/api/v1/transfer/letter/{id}/pdf', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://aropay.aro.media/api/v1/transfer/letter/{id}/pdf"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)"<string>"{
"ok": false,
"error": {
"code": "invalid_api_key",
"message": "Invalid API key."
}
}{
"ok": false,
"error": {
"code": "account_disabled",
"message": "This account is disabled."
}
}{
"ok": false,
"error": {
"code": "letter_not_found",
"message": "Letter not found."
}
}{
"ok": false,
"error": {
"code": "letter_not_printable",
"message": "The letter is not printable until its escrow is confirmed."
}
}{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Too many requests. Try again shortly."
}
}{
"ok": false,
"error": {
"code": "internal_error",
"message": "An unexpected error occurred."
}
}Authorizations
apiKeyAuthsessionCookie
AroPay API key, sent as Authorization: Bearer aro_sk_…. Created in
the dashboard under Settings → API keys. Takes precedence over a
session cookie when both are present.
Path Parameters
Letter ID.
Response
The letter as a PDF.
The response is of type file.