Update header profile mapping
curl --request PUT \
--url https://api.creditor.younegotiate.com/header-profiles/{csvHeader} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"date_format": "Y-m-d",
"is_mapped": true,
"mapped_headers": {
"account_number": "Account Number",
"member_account_number": "Member Account Number",
"original_account_name": "Original Account Name",
"first_name": "First Name",
"last_name": "Last Name",
"dob": "Date of Birth",
"last4ssn": "SSN",
"current_balance": "Balance",
"email1": "Email",
"mobile1": "Mobile",
"address1": "Address 1",
"city": "City",
"state": "State",
"zip": "Zip"
}
}
'import requests
url = "https://api.creditor.younegotiate.com/header-profiles/{csvHeader}"
payload = {
"date_format": "Y-m-d",
"is_mapped": True,
"mapped_headers": {
"account_number": "Account Number",
"member_account_number": "Member Account Number",
"original_account_name": "Original Account Name",
"first_name": "First Name",
"last_name": "Last Name",
"dob": "Date of Birth",
"last4ssn": "SSN",
"current_balance": "Balance",
"email1": "Email",
"mobile1": "Mobile",
"address1": "Address 1",
"city": "City",
"state": "State",
"zip": "Zip"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
date_format: 'Y-m-d',
is_mapped: true,
mapped_headers: {
account_number: 'Account Number',
member_account_number: 'Member Account Number',
original_account_name: 'Original Account Name',
first_name: 'First Name',
last_name: 'Last Name',
dob: 'Date of Birth',
last4ssn: 'SSN',
current_balance: 'Balance',
email1: 'Email',
mobile1: 'Mobile',
address1: 'Address 1',
city: 'City',
state: 'State',
zip: 'Zip'
}
})
};
fetch('https://api.creditor.younegotiate.com/header-profiles/{csvHeader}', 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/header-profiles/{csvHeader}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'date_format' => 'Y-m-d',
'is_mapped' => true,
'mapped_headers' => [
'account_number' => 'Account Number',
'member_account_number' => 'Member Account Number',
'original_account_name' => 'Original Account Name',
'first_name' => 'First Name',
'last_name' => 'Last Name',
'dob' => 'Date of Birth',
'last4ssn' => 'SSN',
'current_balance' => 'Balance',
'email1' => 'Email',
'mobile1' => 'Mobile',
'address1' => 'Address 1',
'city' => 'City',
'state' => 'State',
'zip' => 'Zip'
]
]),
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/header-profiles/{csvHeader}"
payload := strings.NewReader("{\n \"date_format\": \"Y-m-d\",\n \"is_mapped\": true,\n \"mapped_headers\": {\n \"account_number\": \"Account Number\",\n \"member_account_number\": \"Member Account Number\",\n \"original_account_name\": \"Original Account Name\",\n \"first_name\": \"First Name\",\n \"last_name\": \"Last Name\",\n \"dob\": \"Date of Birth\",\n \"last4ssn\": \"SSN\",\n \"current_balance\": \"Balance\",\n \"email1\": \"Email\",\n \"mobile1\": \"Mobile\",\n \"address1\": \"Address 1\",\n \"city\": \"City\",\n \"state\": \"State\",\n \"zip\": \"Zip\"\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.creditor.younegotiate.com/header-profiles/{csvHeader}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"date_format\": \"Y-m-d\",\n \"is_mapped\": true,\n \"mapped_headers\": {\n \"account_number\": \"Account Number\",\n \"member_account_number\": \"Member Account Number\",\n \"original_account_name\": \"Original Account Name\",\n \"first_name\": \"First Name\",\n \"last_name\": \"Last Name\",\n \"dob\": \"Date of Birth\",\n \"last4ssn\": \"SSN\",\n \"current_balance\": \"Balance\",\n \"email1\": \"Email\",\n \"mobile1\": \"Mobile\",\n \"address1\": \"Address 1\",\n \"city\": \"City\",\n \"state\": \"State\",\n \"zip\": \"Zip\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creditor.younegotiate.com/header-profiles/{csvHeader}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"date_format\": \"Y-m-d\",\n \"is_mapped\": true,\n \"mapped_headers\": {\n \"account_number\": \"Account Number\",\n \"member_account_number\": \"Member Account Number\",\n \"original_account_name\": \"Original Account Name\",\n \"first_name\": \"First Name\",\n \"last_name\": \"Last Name\",\n \"dob\": \"Date of Birth\",\n \"last4ssn\": \"SSN\",\n \"current_balance\": \"Balance\",\n \"email1\": \"Email\",\n \"mobile1\": \"Mobile\",\n \"address1\": \"Address 1\",\n \"city\": \"City\",\n \"state\": \"State\",\n \"zip\": \"Zip\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Header profile saved.",
"data": {
"id": 123,
"company_id": 123,
"subclient_id": 123,
"name": "<string>",
"headers": [
"Account Number",
"First Name",
"Last Name"
],
"date_format": "Y-m-d",
"mapped_headers": {
"account_number": "Account Number",
"first_name": "First Name"
},
"required_fields": [
"account_number",
"first_name",
"last_name"
],
"suggested_mapped_headers": {},
"auto_detected_fields": [
"<string>"
],
"is_mapped": true,
"sftp_connection_id": 123,
"sftp_connection": {
"id": 123,
"name": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>"
}{
"message": "An active membership is required."
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Update header profile mapping
Save header field mappings. Set is_mapped to false to finish later with a partial mapping, or true to require all required fields and complete the setup wizard header-profile step.
PUT
/
header-profiles
/
{csvHeader}
Update header profile mapping
curl --request PUT \
--url https://api.creditor.younegotiate.com/header-profiles/{csvHeader} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"date_format": "Y-m-d",
"is_mapped": true,
"mapped_headers": {
"account_number": "Account Number",
"member_account_number": "Member Account Number",
"original_account_name": "Original Account Name",
"first_name": "First Name",
"last_name": "Last Name",
"dob": "Date of Birth",
"last4ssn": "SSN",
"current_balance": "Balance",
"email1": "Email",
"mobile1": "Mobile",
"address1": "Address 1",
"city": "City",
"state": "State",
"zip": "Zip"
}
}
'import requests
url = "https://api.creditor.younegotiate.com/header-profiles/{csvHeader}"
payload = {
"date_format": "Y-m-d",
"is_mapped": True,
"mapped_headers": {
"account_number": "Account Number",
"member_account_number": "Member Account Number",
"original_account_name": "Original Account Name",
"first_name": "First Name",
"last_name": "Last Name",
"dob": "Date of Birth",
"last4ssn": "SSN",
"current_balance": "Balance",
"email1": "Email",
"mobile1": "Mobile",
"address1": "Address 1",
"city": "City",
"state": "State",
"zip": "Zip"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
date_format: 'Y-m-d',
is_mapped: true,
mapped_headers: {
account_number: 'Account Number',
member_account_number: 'Member Account Number',
original_account_name: 'Original Account Name',
first_name: 'First Name',
last_name: 'Last Name',
dob: 'Date of Birth',
last4ssn: 'SSN',
current_balance: 'Balance',
email1: 'Email',
mobile1: 'Mobile',
address1: 'Address 1',
city: 'City',
state: 'State',
zip: 'Zip'
}
})
};
fetch('https://api.creditor.younegotiate.com/header-profiles/{csvHeader}', 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/header-profiles/{csvHeader}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'date_format' => 'Y-m-d',
'is_mapped' => true,
'mapped_headers' => [
'account_number' => 'Account Number',
'member_account_number' => 'Member Account Number',
'original_account_name' => 'Original Account Name',
'first_name' => 'First Name',
'last_name' => 'Last Name',
'dob' => 'Date of Birth',
'last4ssn' => 'SSN',
'current_balance' => 'Balance',
'email1' => 'Email',
'mobile1' => 'Mobile',
'address1' => 'Address 1',
'city' => 'City',
'state' => 'State',
'zip' => 'Zip'
]
]),
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/header-profiles/{csvHeader}"
payload := strings.NewReader("{\n \"date_format\": \"Y-m-d\",\n \"is_mapped\": true,\n \"mapped_headers\": {\n \"account_number\": \"Account Number\",\n \"member_account_number\": \"Member Account Number\",\n \"original_account_name\": \"Original Account Name\",\n \"first_name\": \"First Name\",\n \"last_name\": \"Last Name\",\n \"dob\": \"Date of Birth\",\n \"last4ssn\": \"SSN\",\n \"current_balance\": \"Balance\",\n \"email1\": \"Email\",\n \"mobile1\": \"Mobile\",\n \"address1\": \"Address 1\",\n \"city\": \"City\",\n \"state\": \"State\",\n \"zip\": \"Zip\"\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.creditor.younegotiate.com/header-profiles/{csvHeader}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"date_format\": \"Y-m-d\",\n \"is_mapped\": true,\n \"mapped_headers\": {\n \"account_number\": \"Account Number\",\n \"member_account_number\": \"Member Account Number\",\n \"original_account_name\": \"Original Account Name\",\n \"first_name\": \"First Name\",\n \"last_name\": \"Last Name\",\n \"dob\": \"Date of Birth\",\n \"last4ssn\": \"SSN\",\n \"current_balance\": \"Balance\",\n \"email1\": \"Email\",\n \"mobile1\": \"Mobile\",\n \"address1\": \"Address 1\",\n \"city\": \"City\",\n \"state\": \"State\",\n \"zip\": \"Zip\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creditor.younegotiate.com/header-profiles/{csvHeader}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"date_format\": \"Y-m-d\",\n \"is_mapped\": true,\n \"mapped_headers\": {\n \"account_number\": \"Account Number\",\n \"member_account_number\": \"Member Account Number\",\n \"original_account_name\": \"Original Account Name\",\n \"first_name\": \"First Name\",\n \"last_name\": \"Last Name\",\n \"dob\": \"Date of Birth\",\n \"last4ssn\": \"SSN\",\n \"current_balance\": \"Balance\",\n \"email1\": \"Email\",\n \"mobile1\": \"Mobile\",\n \"address1\": \"Address 1\",\n \"city\": \"City\",\n \"state\": \"State\",\n \"zip\": \"Zip\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Header profile saved.",
"data": {
"id": 123,
"company_id": 123,
"subclient_id": 123,
"name": "<string>",
"headers": [
"Account Number",
"First Name",
"Last Name"
],
"date_format": "Y-m-d",
"mapped_headers": {
"account_number": "Account Number",
"first_name": "First Name"
},
"required_fields": [
"account_number",
"first_name",
"last_name"
],
"suggested_mapped_headers": {},
"auto_detected_fields": [
"<string>"
],
"is_mapped": true,
"sftp_connection_id": 123,
"sftp_connection": {
"id": 123,
"name": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>"
}{
"message": "An active membership is required."
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
CSV header profile ID.
Body
application/json
Available options:
d/m/Y, m/d/Y, Y/m/d, d-m-Y, m-d-Y, Y-m-d When true, all required fields must be mapped and the setup wizard header-profile step can complete.
Object keyed by YouNegotiate consumer field value, with values matching uploaded CSV header names.
Show child attributes
Show child attributes
Last modified on July 20, 2026
Was this page helpful?
⌘I

