NAV
shell

Introduction

Welcome to the LeadPier API v3! You can use our API to integrate with LeadPier marketing platform.

Authentication

LeadPier API v3 uses custom headers to allow access to the API. Ask your manager to provide you channelId/authKey pair.

LeadPier expects for X-Channel-Id and X-Auth-Key to be included in all API requests as headers, example:

X-Channel-Id: 1111

X-Auth-Key: changeme

Marketing

Short form

API updated on 2025-09-10

curl -X 'POST' \
  'https://api.leadpier.com/v3/Marketing/short' \
  -H 'X-Channel-Id: 1111' \
  -H 'X-Auth-Key: changeme' \
  -H 'Content-Type: application/json' \
  -d '{
  "firstName": "Katelynn",
  "lastName": "Waters",
  "email": "sample@email.com",
  "homePhone": "5551388554",
  "payDate1": "2011-06-14",
  "zip": "12706",
  "state": "MS",
  "status": "REJECTED",
  "userIp": "10.10.10.10",
  "source": "Lorem",
  "userAgent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/7.0)",
  "price": 49,
  "extra": {
      "sub1": "alpha",
      "sub2": "beta",
      "tag": "green"
  },
  "consent": true,
  "consentTimestamp": "2025-09-01T19:00:00Z",
  "consentDomain": "exampleoffer.com",
  "consentText": "I give consent to get communications through sms and email."
}'

The above command returns JSON structured like this:

{"errorCode":"NO_ERROR","data":{"success":true}} 

This endpoint accepts short form leads for further marketing.

HTTP Request

POST https://api.leadpier.com/v3/Marketing/short

Payload must be in JSON format.

Query Parameters

Parameter Type Required Description Example
firstName string yes First name Katelynn
lastName string yes Last name Waters
email string yes Valid email address sample@email.com
homePhone string yes Valid US phone number (10 digits) 5551388554
payDate1 string yes Next pay date, YYY-MM-DD 2011-06-14
zip string yes ZIP code 12706
state string[2] no Valid US state 2 letter abbreviation MS
status enum no SOLD or REJECTED, if lead was sold or rejected before SOLD
userIp string yes Valid IPv4 or IPv6 address, no private subnets 10.10.10.10
source string no Traffic source or affiliate id PPC
userAgent string yes Browser user agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/7.0)
price numeric no Purchase price for previous transaction 1.2
extra JSON no Any extra information required for processing your submissions {"sub1":"alpha","sub2":"beta","tag":"green"}
consent bool yes If consent (opt-in) was collected true
consentTimestamp timestamp yes Date when consent was collected 2025-09-01T19:00:00Z
consentDomain string yes Domain name (not URL) of where consent was collected exampleoffer.com
consentText string yes Full consent text used I give consent to get communications through sms and email.

Response

If lead was accepted for marketing {"errorCode":"NO_ERROR","data":{"success":true}}

If lead was not accepted {"errorCode":"NO_ERROR","data":{"success":false}}

Possible error responses


Incomplete Form

This endpoint is designed to store incomplete loan application data. It accepts a JSON body that includes information about the loan applicant such as their income, employment details, bank account information, the specifics of the loan application, and consent data.

All fields except customer.firstName, customer.lastName customer.email and customer.phone are optional.

Kindly note that supplying only the bare minimum set of fields can considerably reduce the performance. Similarly, providing hardcoded values can also negatively impact performance. It is advisable to submit only the data that has been collected.

If the submission undergoes formal validation, any validation errors will be returned. These errors should be addressed immediately, or the invalid fields should be omitted completely from submission.

Upon successful validation of the data, the response will return the status of the submission:

HTTP Request

POST https://api.leadpier.com/v3/LoanUS/incomplete

Payload must be in JSON format.

The body of the request is a JSON object of type LoanApplication.

LoanApplication

{ "session": {
    "userIp": "192.0.0.2",
    "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_1 like Mac OS X)",
    "domain": "example.com",
    "source": "website",
    "keyword": "loans",
    "publisherClickId": "Random_Id_String",
    "jornayaId": "294a7a5e-f0ec-64ba-04c6-b0f45aee533b",
    "trustedFormCertUrl": "https://example.com/certUrl",
    "trustedFormPingUrl": "https://example.com/pingUrl",
    "httpReferrer": "https://google.com"
  },
  "customer": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "phone": "5554567890",
    "zip": "10001",
    "state": "NY",
    "city": "New York",
    "address": "123 Main St"
  },
  "details": {
    "birthDate": "1990-01-01",
    "ssn": "123456789",
    "driverLicenseState": "NY",
    "driverLicenseNumber": "1234567",
    "carStatus": "FINANCE",
    "residentMonths": 60,
    "residentSince": "2014-01-01",
    "residenceStatus": "RENT",
    "gender": "MALE",
    "maritalStatus": "SINGLE"
  },
  "income": {
    "type": "EMPLOYMENT",
    "payFrequency": "BIWEEKLY",
    "nextPayDate": "2023-04-14",
    "monthlyIncome": 5000,
    "directDeposit": true
  },
  "employment": {
    "employer": "Awesome Corp",
    "employedMonths": 60,
    "employedSince": "2018-02-01",
    "jobTitle": "Software Engineer",
    "workPhone": "5554567891",
    "activeMilitary": false
  },
  "bankAccount": {
    "aba": "021000021",
    "accountNumber": "12345678",
    "accountType": "CHECKING",
    "bankName": "Awesome Bank",
    "bankPhone": "5675675678",
    "accountMonths": 10,
    "accountSince": "2022-06-01"
  },
  "application": {
    "requestedAmount": 25000,
    "loanReason": "DEBT_CONSOLIDATION",
    "creditScore": 700,
    "isOver10kDebt": true,
    "debtAmount": 15000
  },
  "consents": {
    "communicationConsent": true,
    "communicationText": "I consent to communication via email and phone.",
    "generalConsent": true,
    "generalText": "I consent to the terms and conditions."
  }
}
Field Type Description
session Session Information about the user's session.
customer Customer Information about the customer.
details Details Details about the loan application (currently missing car status container)
income Income Information about the customer's income.
employment Employment Information about the customer's employment.
bankAccount BankAccount Information about the customer's bank account.
application Application Information about the loan application.
consents Consents User consent details.

Session

Field Type Description
userIp string User's IP address.
userAgent string User's browser identifier.
domain string Domain that the request was made from.
source string Source of the loan application.
keyword string Keyword used by the user (if any).
publisherClickId string The unique identifier assigned by the publisher for the click that generated this lead.
jornayaId string Jornaya specific identifier.
trustedFormCertUrl string URL for TrustedForm's Certificate
trustedFormPingUrl string URL for TrustedForm's Ping
httpReferrer string The HTTP Referer header from the client's initial request.

Customer

Field Type Description Constraints
firstName string First name of the customer. Letters, Required
lastName string Last name of the customer. Letters, Required
email string Email address of the customer. Email, Required
phone string Phone number of the customer. Phone, Required
zip string ZIP code of the customer's address. Zip
state string State of the customer's address. State
city string City of the customer's address. City
address string Detailed address of the customer. String of length 5 to 100, Address Format

Details

Field Type Description Constraints
birthDate string Birth date of the customer. Birthday Format YYYY-MM-DD
ssn string Social security number. SSN Format no dashes
driverLicenseState string State of driver license. State
driverLicenseNumber string Driver license number. Driver License Format
carStatus string Status of the customer's car. one of FINANCE, LEASE, OWN, OTHER
residentMonths int32 Number of months the customer had been resided. Use this field or residentSince Range 0 to 1200
residentSince string Since when the customer has resided. Use this field or residentMonths Residence Date Format YYYY-MM-DD
residenceStatus string Customer's residence status. one of OWN, RENT, OTHER
gender string Gender of the customer. one of MALE, FEMALE, OTHER
maritalStatus string Marital status of the customer. one of SINGLE, MARRIED, DIVORCED, SEPARATED, WIDOWED, DOMESTIC_PARTNER, UNKNOWN

Income

Field Type Description Constraints
type string Income type. one of EMPLOYMENT, SELF_EMPLOYMENT, PENSION, SOCIAL_SECURITY, DISABILITY, MILITARY, OTHER_BENEFITS
payFrequency string Payment frequency of the income. one of BIWEEKLY, WEEKLY, SEMIMONTHLY, MONTHLY
nextPayDate string Next payment date. Pay Date YYYY-MM-DD
monthlyIncome int64 Monthly income of the customer. Range 0 to 25000
directDeposit bool Flag indicating if the income is direct deposited.

Employment

Field Type Description Constraints
employer string Employer name. Employer Format
employedMonths int32 Number of months employed. Use this field or employedSince Range 0 to 1200
employedSince string Since when the customer has been employed. Use this field or employedMonths Employment Date YYYY-MM-DD
jobTitle string Job title of the customer. Job Title Format
workPhone string Work phone number of the customer. Phone Format
activeMilitary bool If the customer is in active military service.

BankAccount

Field Type Description Constraints
aba string ABA routing number for the customer's bank account. ABA Format
accountNumber string Customer's bank account number. Bank Account Number Format
accountType string Type of the bank account. one of CHECKING, SAVINGS
bankName string Name of the bank. Bank Name Format
bankPhone string Phone number of the bank. Phone Format
accountMonths int32 Number of months the bank account had been opened. Use this field or accountSince Range 0 to 1200
accountSince string Since when the bank account has been opened. Use this field or accountMonths Account Open Date YYYY-MM-DD

Application

Field Type Description Constraints
requestedAmount uint64 Requested loan amount. Range 100 to 5000000
loanReason string Reason for the loan. one of DEBT_CONSOLIDATION, HOME_IMPROVEMENT, AUTO_PURCHASE, STUDENT_LOAN_REFINANCE, CREDIT_CARD_CONSOLIDATION, EMERGENCY_SITUATION, MEDICAL, MAJOR_PURCHASE, AUTO_REPAIR, MOVING, VACATION, TAXES, WEDDING, BUSINESS, RENT_OR_MORTGAGE, OTHER
creditScore uint16 Customer's credit score. Range 300 to 850
isOver10kDebt bool If the customer's debt is over $10,000.
debtAmount uint64 Amount of the customer's debt. Range 0 to 100000000

Consents

Field Type Description
communicationConsent bool If the customer consents to communication.
communicationText string Text regarding communication consent.
generalConsent bool If the customer gives general consent.
generalText string Text regarding general consent.

Response

If lead was accepted:

{
    "data": {
        "leadId": "8e803c17-408d-4bb3-a531-c6665d943d6d",
        "status": "ACCEPTED"
    },
    "errorCode": "NO_ERROR"
}

If lead was not accepted:

{
    "data": {
        "leadId": "8e803c17-408d-4bb3-a531-c6665d943d6d",
        "status": "REJECTED"
    },
    "errorCode": "NO_ERROR"
}

If lead was accepted and needs to be redirected to the offer:

{
    "data": {
        "leadId": "8e803c17-408d-4bb3-a531-c6665d943d6d",
        "status": "FOLLOW",
        "url": "https://example.com/ir/8e803c17-408d-4bb3-a531-c6665d943d6d"
    },
    "errorCode": "NO_ERROR"
}
Field Type Description
data.leadId string Unique UUID of submission for reference
data.status string one of ACCEPTED, REJECTED, FOLLOW
data.url *string If status is FOLLOW url for redirection would be provided
errorCode string NO_ERROR if submission was successfull
errorMessage *string Error message returned if errorCode was not NO_ERROR

Live selling

Complete Form Sell

This endpoint is designed to sell complete loan application data. It accepts a JSON body that includes information about the loan applicant such as their income, employment details, bank account information, the specifics of the loan application, and consent data.

If the submission undergoes validation, any validation errors will be returned. These errors should be addressed immediately.

Upon successful validation of the data, the response will return the status of the submission:

HTTP Request

POST https://api.leadpier.com/v3/LoanUS/sellLead

Payload must be in JSON format.

The body of the request is a JSON object of type LoanApplication.

LoanApplication

{ "session": {
    "userIp": "192.0.0.2",
    "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_1 like Mac OS X)",
    "domain": "example.com",
    "source": "website",
    "keyword": "loans",
    "publisherClickId": "Random_Id_String",
    "jornayaId": "294a7a5e-f0ec-64ba-04c6-b0f45aee533b",
    "trustedFormCertUrl": "https://example.com/certUrl",
    "trustedFormPingUrl": "https://example.com/pingUrl",
    "httpReferrer": "https://google.com",
    "minimumPrice": 2
  },
  "customer": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "phone": "5554567890",
    "zip": "10001",
    "state": "NY",
    "city": "New York",
    "address": "123 Main St"
  },
  "details": {
    "birthDate": "1990-01-01",
    "ssn": "123456789",
    "driverLicenseState": "NY",
    "driverLicenseNumber": "1234567",
    "carStatus": "FINANCE",
    "residentMonths": 60,
    "residentSince": "2014-01-01",
    "residenceStatus": "RENT",
    "gender": "MALE",
    "maritalStatus": "SINGLE"
  },
  "income": {
    "type": "EMPLOYMENT",
    "payFrequency": "BIWEEKLY",
    "nextPayDate": "2023-04-14",
    "monthlyIncome": 5000,
    "directDeposit": true
  },
  "employment": {
    "employer": "Awesome Corp",
    "employedMonths": 60,
    "employedSince": "2018-02-01",
    "jobTitle": "Software Engineer",
    "workPhone": "5554567891",
    "activeMilitary": false
  },
  "bankAccount": {
    "aba": "021000021",
    "accountNumber": "12345678",
    "accountType": "CHECKING",
    "bankName": "Awesome Bank",
    "bankPhone": "5675675678",
    "accountMonths": 10,
    "accountSince": "2022-06-01"
  },
  "application": {
    "requestedAmount": 25000,
    "loanReason": "DEBT_CONSOLIDATION",
    "creditScore": 700,
    "isOver10kDebt": true,
    "debtAmount": 15000
  },
  "consents": {
    "communicationConsent": true,
    "communicationText": "I consent to communication via email and phone.",
    "generalConsent": true,
    "generalText": "I consent to the terms and conditions."
  }
}
Field Type Description
session Session Information about the user's session.
customer Customer Information about the customer.
details Details Details about the loan application (currently missing car status container)
income Income Information about the customer's income.
employment Employment Information about the customer's employment.
bankAccount BankAccount Information about the customer's bank account.
application Application Information about the loan application.
consents Consents User consent details.

Full Session

Field Type Required Description
userIp string yes User's IP address.
userAgent string yes User's browser identifier.
domain string yes Domain that the request was made from.
source string Source of the loan application.
keyword string Keyword used by the user (if any).
publisherClickId string The unique identifier assigned by the publisher for the click that generated this lead.
jornayaId string Jornaya specific identifier.
trustedFormCertUrl string URL for TrustedForm's Certificate
trustedFormPingUrl string URL for TrustedForm's Ping
httpReferrer string The HTTP Referer header from the client's initial request.
minimumPrice decimal Minimum lead sell price

Full Customer

Field Type Required Description Constraints
firstName string yes First name of the customer. Letters, Required
lastName string yes Last name of the customer. Letters, Required
email string yes Email address of the customer. Email, Required
phone string yes Phone number of the customer. Phone, Required
zip string yes ZIP code of the customer's address. Zip
state string yes State of the customer's address. State
city string yes City of the customer's address. City
address string yes Detailed address of the customer. String of length 5 to 100, Address Format

Full Details

Field Type Required Description Constraints
birthDate string yes Birth date of the customer. Birthday Format YYYY-MM-DD
ssn string yes Social security number. SSN Format no dashes
driverLicenseState string yes State of driver license. State
driverLicenseNumber string yes Driver license number. Driver License Format
carStatus string Status of the customer's car. one of FINANCE, LEASE, OWN, OTHER
residentMonths int32 yes* Number of months the customer had been resided. Use this field or residentSince Range 0 to 1200
residentSince string yes* Since when the customer has resided. Use this field or residentMonths Residence Date Format YYYY-MM-DD
residenceStatus string yes Customer's residence status. one of OWN, RENT, OTHER
gender string Gender of the customer. one of MALE, FEMALE, OTHER
maritalStatus string Marital status of the customer. one of SINGLE, MARRIED, DIVORCED, SEPARATED, WIDOWED, DOMESTIC_PARTNER, UNKNOWN

Full Income

Field Type Required Description Constraints
type string yes Income type. one of EMPLOYMENT, SELF_EMPLOYMENT, PENSION, SOCIAL_SECURITY, DISABILITY, MILITARY, OTHER_BENEFITS
payFrequency string yes Payment frequency of the income. one of BIWEEKLY, WEEKLY, SEMIMONTHLY, MONTHLY
nextPayDate string yes Next payment date. Pay Date YYYY-MM-DD
monthlyIncome int64 yes Monthly income of the customer. Range 0 to 25000
directDeposit bool yes Flag indicating if the income is direct deposited.

Full Employment

Field Type Required Description Constraints
employer string yes Employer name. Employer Format
employedMonths int32 yes* Number of months employed. Use this field or employedSince Range 0 to 1200
employedSince string yes* Since when the customer has been employed. Use this field or employedMonths Employment Date YYYY-MM-DD
jobTitle string yes Job title of the customer. Job Title Format
workPhone string yes Work phone number of the customer. Phone Format
activeMilitary bool If the customer is in active military service.

Full BankAccount

Field Type Required Description Constraints
aba string yes ABA routing number for the customer's bank account. ABA Format
accountNumber string yes Customer's bank account number. Bank Account Number Format
accountType string yes Type of the bank account. one of CHECKING, SAVINGS
bankName string Name of the bank. Bank Name Format
bankPhone string Phone number of the bank. Phone Format
accountMonths int32 yes* Number of months the bank account had been opened. Use this field or accountSince Range 0 to 1200
accountSince string yes* Since when the bank account has been opened. Use this field or accountMonths Account Open Date YYYY-MM-DD

Full Application

Field Type Required Description Constraints
requestedAmount uint64 yes Requested loan amount. Range 100 to 5000000
loanReason string yes Reason for the loan. one of DEBT_CONSOLIDATION, HOME_IMPROVEMENT, AUTO_PURCHASE, STUDENT_LOAN_REFINANCE, CREDIT_CARD_CONSOLIDATION, EMERGENCY_SITUATION, MEDICAL, MAJOR_PURCHASE, AUTO_REPAIR, MOVING, VACATION, TAXES, WEDDING, BUSINESS, RENT_OR_MORTGAGE, OTHER
creditScore uint16 yes Customer's credit score. Range 300 to 850
isOver10kDebt bool If the customer's debt is over $10,000.
debtAmount uint64 Amount of the customer's debt. Range 0 to 100000000

Full Consents

Field Type Required Description
communicationConsent bool yes If the customer consents to communication.
communicationText string yes Text regarding communication consent.
generalConsent bool yes If the customer gives general consent.
generalText string yes Text regarding general consent.

Responses

If lead was sold:

{
    "data": {
        "leadId": "8e803c17-408d-4bb3-a531-c6665d943d6d",
        "url": "https://example.com",
        "price": "11.2",
        "status": "SOLD"
    },
    "errorCode": "NO_ERROR"
}

If lead was not sold:

{
    "data": {
        "leadId": "8e803c17-408d-4bb3-a531-c6665d943d6d",
        "status": "REJECTED"
    },
    "errorCode": "NO_ERROR"
}

If lead was not sold with minimumPrice provided, you can retry at minimum price specified:

{
    "data": {
        "leadId": "8e803c17-408d-4bb3-a531-c6665d943d6d",
        "minimumPrice": "4",
        "status": "REJECTED"
    },
    "errorCode": "NO_ERROR"
}
Field Type Description
data.leadId *string Unique UUID of submission for reference
data.status string one of SOLD, REJECTED
data.url *string If status is SOLD url for redirection would be provided
data.price *decimal If status is SOLD price would be provided
data.minimumPrice *decimal If status is REJECTED and there is a bid at lower minimumPrice
errorCode string NO_ERROR if submission was successfull
errorMessage *string Error message returned if errorCode was not NO_ERROR

Errors

The LeadPier API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid. Check data you're supplying and response for validation errors.
401 Unauthorized -- Your credentials are wrong or missing.
403 Forbidden -- Your credentials does not allow use of this endpoint.
404 Not Found -- Endpoint does not exists.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.