Total Expert ALM Leads (formerly Lead Opportunities) API
The ALM Leads (formerly Lead Opportunities) API from Total Expert — 2 operation(s) for alm leads (formerly lead opportunities).
The ALM Leads (formerly Lead Opportunities) API from Total Expert — 2 operation(s) for alm leads (formerly lead opportunities).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/total-expert-alm-leads-formerly-lead-opportunities-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Total Expert Public ALM Leads (formerly Lead Opportunities)…
version: v1
description: The Total Expert REST API allows you to programmatically create, retrieve, update, and delete information through various endpoints.
contact:
url: https://developer.totalexpert.net
servers:
- url: https://public.totalexpert.net
description: Total Expert external API — production
- url: https://public.vt.totalexpert.net
description: Total Expert external API — development/sandbox domain (isolated from live data; per the Vendor OAuth Integration Guide)
security:
- oauth2: []
tags:
- name: ALM Leads (formerly Lead Opportunities)
paths:
/v1/leads/{lead_id}:
get:
operationId: fetchLeadOpportunity
summary: Fetch Lead Opportunity
description: 'The GET endpoint returns details about the lead record, including the lead_opportunity details, any existing lead_opportunity_offers, and more.
Attributes unique to GET
owner
Details about the current owner of the lead, including the following:
attribute
value
email
The user''s e-mail address as stored in the Total Expert database
external_id
An assignable identifier of the user as represented in a third-party system
id
The user''s internal Total Expert identifier
username
The user''s internal Total Expert username
related_entities
Currently returns information about the contact record to which the lead is linked. parent.id represents the contact ID.
"related_entities": [
{
"relationship_type": {
"system_name": "Contact"
},
"parent": [
{
"id": "87987456"
}
]
}
]
Example GET response:
{
"title": "Mr.",
"first_name": "John",
"last_name": "Smith",
"suffix": "Jr.",
"nickname": "Johnathon",
"email": "jsmith@gmail.com",
"address": "2744 Imaginary Ave",
"address_2": "Apartment 8",
"city": "Los Angeles",
"state": "CA",
"zip_code": 90210,
"phone_cell": "5555555555",
"phone_home": "2222222222",
"phone_office": "7777777777",
"ok_to_email": 1,
"referred_by": "Jane Smith",
"credit_score": "Excellent",
"source": "leadSourceName",
"assigned_to": 50,
"owner_id": 50,
"lead_opportunity": {
"property_value": 350000,
"property_county": "Alameda",
"property_zip": 90010,
"property_state": "CA",
"property_msa": "LA",
"loan_amount": 325000,
"loan_down_payment": 25000,
"loan_cash_out": 0,
"property_type": "Single Family",
"property_use": "Owner Occupied",
"loan_request_type": "Purchase",
"lead_price": 50,
"tracking_number": "123456",
"annual_income": 120000,
"first_time_buyer": "true",
"has_agent": "true",
"is_military": "false",
"self_credit_rating": "Good",
"bankruptcy": "fales",
"foreclosure": "false",
"working_with_agent": "true",
"found_home": "true",
"property_purchase_price": 350000,
"is_fha_eligible": "true",
"is_va_loan": "false",
"present_ltv": 92.00,
"proposed_ltv": 92.00,
"term": "30 year fixed",
"estimated_payment": 1500,
"apr": 3.789,
"market_value": 355000,
"rate_offer": 3.625
},
"lead_opportunity_offers": [
{
"offer_id": 1,
"offer_type": "Fixed",
"loan_program_name": "Conf 30 Yr Fixed",
"loan_amount": 255000,
"interest_rate": 3.625,
"term": "30 ",
"points": 0.75,
"investor": "Total Expert(308)",
"lock_term": 45,
"monthly_payment": 1367.34,
"down_payment": 295000,
"apr": 5.171
},
{
"offer_id": 2,
"offer_type": "Fixed",
"loan_program_name": "Conf 15 Yr Fixed ",
"loan_amount": 255000,
"interest_rate": 4.625,
"term": "180",
"points": 0.75,
"investor": "Total Expert(308)",
"lock_term": 30,
"monthly_payment": 1067.34,
"down_payment": 295000.00,
"apr": 6.171
}
],
"custom": [
{
"field_name": "name",
"value": "value"
}
],
"owner": {
"email": "billfischer@example.com",
"external_id": "",
"id": "218923",
"username": "billfischer-example"
},
"related_entities": [
{
"relationship_type": {
"system_name": "Contact"
},
"parent": [
{
"id": "87987456"
}
]
}
]
}'
tags:
- ALM Leads (formerly Lead Opportunities)
responses:
'200':
description: Success. See the Total Expert Public API documentation for the response shape.
parameters:
- name: lead_id
in: path
required: true
schema:
type: string
patch:
operationId: updateLeadOpportunity2
summary: Update Lead Opportunity
description: 'The PATCH request accepts any variant of the body specified below, allowing for partial modifications of the existing lead resource. Fields that are
Data Types
The PATCH is sensitive to data types, and will error if types do not align with the types in the request body below.
If the value of a given attribute does not match the type specified in PATCH validation, the request should fail and tell you why.
Accepted type details:
Integer values, real, positive values only
String values must be wrapped in double quotation marks, as in "hello there"
Decimals can be decimal values or integer values
Booleans must be true, false, 0, or 1. Strings ''true'' and ''false'' are NOT accepted.
Updating Lead Stage
lead_stage can be updated with an integer, 1 through 5, represneting the following lifecycle stages of a lead:
New Lead
Contacted
Application
In Process
Closed
Other values can be updated concurrently with lead_stage.
Updating Lead Opportunity Offers
offers can also be updated, but for each desired offer update, the offer_id of the given offer must be included, along with at least one other offer attribute
{
"lead_opportunity": {
"property_value": 50000000
},
"lead_opportunity_offers": [
{
"offer_id": 1,
"investor": "Duckberg Inc"
},
{
"offer_id": 2,
"investor": "Duckberg Inc"
},
]
}
Examples of Partial Modification Requests
As long as attributes are nested in their correct parent attribute, they will be considered valid for updating.
{
"lead_stage": 2,
}
{
"first_name": "Scrooge",
"lead_stage": 2,
}
{
"lead_opportunity": {
"property_value": 50000000
},
"lead_opportunity_offers": [
{
"offer_id": 2,
"investor": "Duckberg Inc"
}
]
}
{
"first_name": "Scrooge",
"last_name": "McDuck",
"lead_opportunity": {
"property_value": 50000000
},
"lead_opportunity_offers": [
{
"offer_id": 2,
"investor": "Duckberg Inc"
}
]
}'
tags:
- ALM Leads (formerly Lead Opportunities)
responses:
'200':
description: Partial Modification
content:
application/json:
example:
message: Successfully updated lead.
parameters:
- name: lead_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
title: Mr.
first_name: John
last_name: Smith
suffix: Jr.
nickname: Johnathon
email: jsmithtest@example.com
address: 1234 Fake St
address_2: Apartment 8
city: Los Angeles
state: CA
zip_code: '90210'
phone_cell: '5555555555'
phone_home: '2222222222'
phone_office: '7777777777'
ok_to_email: true
referred_by: Jane Smith
credit_score: Excellent
source: leadSourceName
assigned_to: 50
owner_id: 50
lead_opportunity:
property_value: 350000
property_county: Alameda
property_zip: '90010'
property_state: CA
property_msa: LA
loan_amount: 325000
loan_down_payment: 25000
loan_cash_out: 0
property_type: Single Family
property_use: Owner Occupied
loan_request_type: Purchase
lead_price: 50
lead_stage: 3
tracking_number: '123456'
annual_income: 120000
first_time_buyer: true
has_agent: true
is_military: false
self_credit_rating: Good
assigned_credit_value: 700
bankruptcy: false
foreclosure: false
working_with_agent: true
found_home: true
property_purchase_price: 350000
is_fha_eligible: true
is_va_loan: false
present_ltv: 92.01
proposed_ltv: 92.01
term: 30 year fixed
estimated_payment: 1500
apr: 3.789
market_value: 355000
rate_offer: 3.625
contact_phone_extension: '55555'
consumer_geo_phone_area_code: '55555'
lead_opportunity_offers:
- offer_id: 1
offer_type: Fixed
loan_program_name: 'Conf 30 Yr Fixed '
loan_amount: 255000.01
interest_rate: 3.625
term: '30'
points: 0.75
investor: Total Expert(308)
lock_term: 45
monthly_payment: 1367.34
down_payment: 295000.99
apr: 5.171
- offer_id: 2
offer_type: Fixed
loan_program_name: 'Conf 15 Yr Fixed '
loan_amount: 255000.01
interest_rate: 4.625
term: '180'
points: 0.75
investor: Total Expert
lock_term: 30
monthly_payment: 1067.34
down_payment: 295000.01
apr: 6.171
custom:
- field_name: my_custom_field
value: Super special value
/v1/leads:
post:
operationId: createLeadOpportunity
summary: Create Lead Opportunity
description: 'Leads and Contacts
A POST request for a new lead wil also create a new contact record, but only if a matching contact is not found.'
tags:
- ALM Leads (formerly Lead Opportunities)
responses:
'200':
description: With Owner
content:
application/json:
example:
contact_id: 58
lead_id: 61
requestBody:
content:
application/json:
example:
title: Dr.
first_name: Bill
last_name: Nye
email: the_science_guy@aol.com
address: 1234 Science Blvd
city: Los Angeles
state: CA
zip_code: '90210'
phone_cell: '2134447777'
phone_home: '2134447777'
phone_office: '2134447777'
ok_to_email: true
referred_by: Albert Einstein
credit_score: Excellent
source: GoodLeads
owner:
id: 1234
external_id: external-system-123
email: test@example.com
username: testtesterson-te
lead_opportunity:
property_value: 850000
property_county: Alameda
property_zip: '90010'
property_state: CA
property_msa: LA
loan_amount: 850000
loan_down_payment: 25000.0
loan_cash_out: 0.0
property_type: Single Family
property_use: Owner Occupied
loan_request_type: Purchase
lead_price: 50
tracking_number: '123456'
annual_income: 250000
first_time_buyer: true
has_agent: true
is_military: false
self_credit_rating: Good
bankruptcy: false
foreclosure: false
working_with_agent: true
found_home: true
property_purchase_price: 850000
is_fha_eligible: true
present_ltv: 92.0
proposed_ltv: 92.0
term: 30 year fixed
estimated_payment: 1500
apr: 5.789
market_value: 355000
rate_offer: 3.625
lead_opportunity_offers:
- offer_id: 1
offer_type: Fixed
loan_program_name: 'Conf 30 Yr Fixed '
loan_amount: 855000.0
- offer_id: 2
offer_type: Fixed
loan_program_name: 'Conf 15 Yr Fixed '
loan_amount: 855000.0
custom:
- field_name: my_custom_field
value: Super special value
components:
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0. Obtain a token from POST /v1/token using HTTP Basic (client_id:client_secret base64-encoded) plus a grant_type body. Access tokens are bearer tokens, expires_in 3600.
flows:
clientCredentials:
tokenUrl: https://public.totalexpert.net/v1/token
scopes:
crm: Documented example scope (Vendor OAuth Integration Guide authorize example)
leadInteraction: Lead interaction access (documented in the collection token examples)
loanInteraction: Loan interaction access (documented in the collection token examples)
leadSurveyInteraction: Lead survey interaction access (documented example in the Vendor OAuth Integration Guide)
postLeads: Post leads access (documented example in the Vendor OAuth Integration Guide)
authorizationCode:
authorizationUrl: https://public.totalexpert.net/v1/authorize
tokenUrl: https://public.totalexpert.net/v1/token
refreshUrl: https://public.totalexpert.net/v1/token
scopes:
crm: Documented example scope (Vendor OAuth Integration Guide authorize example)
leadInteraction: Lead interaction access (documented in the collection token examples)
loanInteraction: Loan interaction access (documented in the collection token examples)
leadSurveyInteraction: Lead survey interaction access (documented example in the Vendor OAuth Integration Guide)
postLeads: Post leads access (documented example in the Vendor OAuth Integration Guide)
externalDocs:
description: Total Expert Public API documentation (Postman)
url: https://documenter.getpostman.com/view/1929166/total-expert-public-api/6Z2RYyU