Get letter
curl --request GET \
--url https://aropay.aro.media/api/v1/transfer/letter/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://aropay.aro.media/api/v1/transfer/letter/{id}', 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}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"data": {
"letter": {
"id": "cklet0001abcd",
"status": "DRAFT",
"chainId": 11155111,
"amount": "<string>",
"token": "cAROUSD",
"amountVisibility": "sealed",
"memo": "<string>",
"recipient": {
"name": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"landmark": "<string>",
"city": "<string>",
"region": "<string>",
"postal": "<string>",
"country": "NG",
"countryName": "Nigeria"
}
},
"isDomestic": true,
"expiresAt": "2023-11-07T05:31:56Z",
"sender": {
"walletId": "<string>",
"address": "<string>"
},
"claimCode": "<string>",
"claimUrl": "<string>",
"pdfUrl": "<string>",
"escrow": {
"transactionId": "cktxn0005abcd",
"txHash": "<string>",
"explorerUrl": "<string>",
"status": "PENDING",
"verified": true
},
"claim": {
"transactionId": "cktxn0005abcd",
"txHash": "<string>",
"explorerUrl": "<string>",
"status": "PENDING",
"verified": true,
"claimedAt": "2023-11-07T05:31:56Z",
"walletAddress": "<string>"
},
"refund": {
"transactionId": "cktxn0005abcd",
"txHash": "<string>",
"explorerUrl": "<string>",
"status": "PENDING",
"verified": true,
"reason": "voided"
},
"mail": {
"provider": "lob",
"providerId": "<string>",
"deliveryMethod": "standard",
"status": "<string>",
"trackingNumber": "<string>",
"expectedDeliveryDate": "<string>",
"mailedAt": "2023-11-07T05:31:56Z",
"testMode": true
},
"needsReview": true,
"error": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
}{
"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": "rate_limited",
"message": "Too many requests. Try again shortly."
}
}{
"ok": false,
"error": {
"code": "internal_error",
"message": "An unexpected error occurred."
}
}Aro Mail
Get letter
Return one of your letters, fully reconciled: pending legs are probed
and verified, an overdue letter is expired and its refund submitted,
and for MAILED letters Lob’s status, tracking number, expected
delivery date and tracking events are refreshed (at most every 15
minutes, best effort). This is the owner’s polling target.
claimCode and claimUrl are included while the letter is
non-terminal (DRAFT, ESCROWED, MAILED, CLAIMING).
GET
/
transfer
/
letter
/
{id}
Get letter
curl --request GET \
--url https://aropay.aro.media/api/v1/transfer/letter/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://aropay.aro.media/api/v1/transfer/letter/{id}', 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}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"data": {
"letter": {
"id": "cklet0001abcd",
"status": "DRAFT",
"chainId": 11155111,
"amount": "<string>",
"token": "cAROUSD",
"amountVisibility": "sealed",
"memo": "<string>",
"recipient": {
"name": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"landmark": "<string>",
"city": "<string>",
"region": "<string>",
"postal": "<string>",
"country": "NG",
"countryName": "Nigeria"
}
},
"isDomestic": true,
"expiresAt": "2023-11-07T05:31:56Z",
"sender": {
"walletId": "<string>",
"address": "<string>"
},
"claimCode": "<string>",
"claimUrl": "<string>",
"pdfUrl": "<string>",
"escrow": {
"transactionId": "cktxn0005abcd",
"txHash": "<string>",
"explorerUrl": "<string>",
"status": "PENDING",
"verified": true
},
"claim": {
"transactionId": "cktxn0005abcd",
"txHash": "<string>",
"explorerUrl": "<string>",
"status": "PENDING",
"verified": true,
"claimedAt": "2023-11-07T05:31:56Z",
"walletAddress": "<string>"
},
"refund": {
"transactionId": "cktxn0005abcd",
"txHash": "<string>",
"explorerUrl": "<string>",
"status": "PENDING",
"verified": true,
"reason": "voided"
},
"mail": {
"provider": "lob",
"providerId": "<string>",
"deliveryMethod": "standard",
"status": "<string>",
"trackingNumber": "<string>",
"expectedDeliveryDate": "<string>",
"mailedAt": "2023-11-07T05:31:56Z",
"testMode": true
},
"needsReview": true,
"error": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
}{
"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": "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.