Send Consumer Profile manual e-letter
curl --request POST \
--url https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "<p>Hello, please review your secure e-letter.</p>"
}
'import requests
url = "https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter"
payload = { "content": "<p>Hello, please review your secure e-letter.</p>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: '<p>Hello, please review your secure e-letter.</p>'})
};
fetch('https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter', 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://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter",
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([
'content' => '<p>Hello, please review your secure e-letter.</p>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter"
payload := strings.NewReader("{\n \"content\": \"<p>Hello, please review your secure e-letter.</p>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<p>Hello, please review your secure e-letter.</p>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"<p>Hello, please review your secure e-letter.</p>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Secure eLetters delivered.",
"data": {
"e_letter_id": 301,
"consumer_e_letter_id": 701,
"communication_history_id": 103,
"consumer_id": 42
}
}{
"message": "<string>"
}{
"message": "An active membership is required."
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Send Consumer Profile manual e-letter
Send a manual secure e-letter from the Consumer Profiles detail page, attach it to the consumer account, and create an automated communication history row with creditor_profile as the source. Deactivated accounts are rejected.
POST
/
manage-consumers
/
{consumer}
/
e-letter
Send Consumer Profile manual e-letter
curl --request POST \
--url https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "<p>Hello, please review your secure e-letter.</p>"
}
'import requests
url = "https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter"
payload = { "content": "<p>Hello, please review your secure e-letter.</p>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: '<p>Hello, please review your secure e-letter.</p>'})
};
fetch('https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter', 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://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter",
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([
'content' => '<p>Hello, please review your secure e-letter.</p>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter"
payload := strings.NewReader("{\n \"content\": \"<p>Hello, please review your secure e-letter.</p>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<p>Hello, please review your secure e-letter.</p>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creditor.younegotiate.com/manage-consumers/{consumer}/e-letter")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"<p>Hello, please review your secure e-letter.</p>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Secure eLetters delivered.",
"data": {
"e_letter_id": 301,
"consumer_e_letter_id": 701,
"communication_history_id": 103,
"consumer_id": 42
}
}{
"message": "<string>"
}{
"message": "An active membership is required."
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Consumer account ID.
Body
application/json
HTML, Markdown, or plain-text e-letter body. Content must contain visible text after Markdown and HTML are rendered and stripped. Embedded base64 editor images are stored on the s3 disk and replaced with S3 object URLs.
Example:
"<p>Hello, please review your secure e-letter.</p>"
Last modified on July 20, 2026
Was this page helpful?
⌘I

