IDX Broker MCP by usefulapi
Read IDX Broker leads, agents, listings and MLS data; create and update leads and notes.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"idx-broker": {
"url": "https://idx-broker.usefulapi.io/mcp"
}
}
}遠端端點
https://idx-broker.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(27)
🟢idx_get_account_info
The IDX Broker client account this access key belongs to: company and contact details and account settings (access keys and passwords are never returned). The reply also shows how many of the key's hourly API accesses are used. GET /clients/accountinfo.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_get_account_type
The IDX Broker plan of the account (Lite or Platinum). It sets the hourly API limit: 300 accesses per key on Lite, 500 on Platinum. GET /clients/accounttype.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_agents(filter_field, filter_value, date_type, interval, start_datetime, ...)
Agents on a multi-user IDX Broker account (id, name, office, contact details, category, language, login dates). Filter by one field or by a time window. GET /clients/agents.
輸入結構描述
{
"type": "object",
"properties": {
"filter_field": {
"description": "Field to filter on; needs filter_value.",
"type": "string",
"enum": [
"agentID",
"officeID",
"category",
"language",
"agentName"
]
},
"filter_value": {
"description": "Value to match in filter_field.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"date_type": {
"description": "Which date the time window applies to.",
"type": "string",
"enum": [
"accountCreated",
"lastLoginDate"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_offices(filter_field, filter_value, date_type, interval, start_datetime, ...)
Offices on a multi-user IDX Broker account. Filter by one field or by a time window. GET /clients/offices.
輸入結構描述
{
"type": "object",
"properties": {
"filter_field": {
"description": "Field to filter on; needs filter_value.",
"type": "string",
"enum": [
"officeID",
"stateprovince",
"zipcode"
]
},
"filter_value": {
"description": "Value to match in filter_field.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"date_type": {
"description": "Which date the time window applies to.",
"type": "string",
"enum": [
"accountCreated",
"lastUpdate"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_leads(date_type, interval, start_datetime, sort_by, offset, ...)
List the account's leads (website registrants) with contact details, status, agent owner, and last viewed listings and searches. A reply holds up to 500 leads; pass offset to page on and look for pagination information in the reply. Filter by a time window on signup, edit, login or activity date. Uses one of the key's hourly API accesses. GET /leads/lead.
輸入結構描述
{
"type": "object",
"properties": {
"date_type": {
"description": "Which date the time window applies to (default subscribeDate).",
"type": "string",
"enum": [
"subscribeDate",
"lastEdited",
"lastLoginDate",
"lastPropertyUpdateDate",
"lastActivityDate"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
"type": "number",
"minimum": 0.0166,
"maximum": 168
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"sort_by": {
"description": "Sort by creation order, asc or desc.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_get_lead(lead_id, fields)
One lead by id with its details, last 5 viewed listings and searches, and the total number of listings viewed. GET /leads/lead/{leadID}.
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id (from idx_list_leads)."
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_lead_notes(lead_id, note_id, date_type, interval, start_datetime, ...)
Notes on a lead, or one note when note_id is given. GET /leads/note/{leadID}[/{noteID}].
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id."
},
"note_id": {
"description": "One note id; omit for all notes of the lead.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_type": {
"description": "Which date the time window applies to.",
"type": "string",
"enum": [
"created",
"lastAltered"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
"type": "number",
"minimum": 0.0166,
"maximum": 168
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_lead_searches(lead_id, search_id, date_type, interval, start_datetime, ...)
Saved property searches of a lead (or one search when search_id is given), with the results URL of each. GET /leads/search/{leadID}[/{searchID}].
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id."
},
"search_id": {
"description": "One saved search id; omit for all searches of the lead.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_type": {
"description": "Which date the time window applies to.",
"type": "string",
"enum": [
"created",
"lastEdited"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
"type": "number",
"minimum": 0.0166,
"maximum": 168
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_lead_saved_properties(lead_id, property_id, date_type, interval, start_datetime, ...)
Properties a lead saved (or one when property_id is given). GET /leads/property/{leadID}[/{propertyID}].
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id."
},
"property_id": {
"description": "One saved property id; omit for all saved properties of the lead.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_type": {
"description": "Which date the time window applies to.",
"type": "string",
"enum": [
"created",
"lastEdited"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
"type": "number",
"minimum": 0.0166,
"maximum": 168
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_get_lead_traffic(lead_id, interval, start_datetime, offset, limit, ...)
Website traffic history of one lead: date, page, referrer and IP of each visit (at most 5,000 rows per request; use interval/offset/limit to narrow it). GET /leads/leadtraffic/{leadID}.
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id."
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
"type": "number",
"minimum": 0.0166,
"maximum": 168
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"lead_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_featured_listings(date_type, interval, start_datetime, offset, limit, ...)
The account's featured (active) listings with address, price, status, photos and agent. Only the account's own listings are returned, never general MLS data. GET /clients/featured.
輸入結構描述
{
"type": "object",
"properties": {
"date_type": {
"description": "Which date the time window applies to (default dateAdded).",
"type": "string",
"enum": [
"dateAdded",
"dateModified"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"disclaimers": {
"description": "Include the MLS disclaimer and courtesy text in the reply.",
"type": "boolean"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_sold_pending_listings(date_type, interval, start_datetime, offset, limit, ...)
The account's sold and pending listings, that is those removed from the MLS feed. GET /clients/soldpending.
輸入結構描述
{
"type": "object",
"properties": {
"date_type": {
"description": "Which date the time window applies to (default dateAdded).",
"type": "string",
"enum": [
"dateAdded",
"dateModified"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"disclaimers": {
"description": "Include the MLS disclaimer and courtesy text in the reply.",
"type": "boolean"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_off_market_listings(date_type, interval, start_datetime, offset, limit, ...)
The account's off-market listings. GET /clients/offmarket.
輸入結構描述
{
"type": "object",
"properties": {
"date_type": {
"description": "Which date the time window applies to (default dateAdded).",
"type": "string",
"enum": [
"dateAdded",
"dateModified"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"disclaimers": {
"description": "Include the MLS disclaimer and courtesy text in the reply.",
"type": "boolean"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_supplemental_listings(date_type, interval, start_datetime, offset, limit, ...)
The account's supplemental (non-MLS) listings with a basic set of fields. GET /clients/supplemental.
輸入結構描述
{
"type": "object",
"properties": {
"date_type": {
"description": "Which date the time window applies to (default dateAdded).",
"type": "string",
"enum": [
"dateAdded",
"dateModified"
]
},
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"disclaimers": {
"description": "Include the MLS disclaimer and courtesy text in the reply.",
"type": "boolean"
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_saved_links(interval, start_datetime, offset, limit, fields)
Saved links (pre-built property search pages) of the account with id, name and URL. GET /clients/savedlinks.
輸入結構描述
{
"type": "object",
"properties": {
"interval": {
"description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
"type": "number",
"minimum": 0.0166,
"maximum": 8765
},
"start_datetime": {
"description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
"type": "string"
},
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_get_saved_link_count(saved_link_id)
The total number of properties a saved link currently matches. GET /clients/savedlinks/{savedLinkID}/count.
輸入結構描述
{
"type": "object",
"properties": {
"saved_link_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Saved link id (from idx_list_saved_links)."
}
},
"required": [
"saved_link_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_widgets(offset, limit, fields)
The JavaScript widgets on the account with id, name, URL and options. GET /clients/widgets.
輸入結構描述
{
"type": "object",
"properties": {
"offset": {
"description": "Items to skip from the beginning (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Number of items to return (use with offset).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 5000
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_get_widget(widget_id, fields)
One JavaScript widget with its settings. GET /clients/widgets/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"widget_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Widget id (from idx_list_widgets)."
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"widget_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_system_links(fields)
The system pages of the account's site (search, featured, contact...) with name, id and URL, which can be linked to directly. GET /clients/systemlinks.
輸入結構描述
{
"type": "object",
"properties": {
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_approved_mls(fields)
The MLSs approved for display on the account, with their IDX ids (such as a001) and names. Use the id in the other MLS tools. GET /mls/approvedmls.
輸入結構描述
{
"type": "object",
"properties": {
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_get_mls_age(idx_id, fields)
When an MLS feed was last downloaded and processed and when its images were last gathered (UTC). GET /mls/age/{idxID}.
輸入結構描述
{
"type": "object",
"properties": {
"idx_id": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
"description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"idx_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_mls_property_types(idx_id, filter_field, filter_value, fields)
Property types of an MLS with the IDX type id, the MLS name, the parent type and subtypes. GET /mls/propertytypes/{idxID}.
輸入結構描述
{
"type": "object",
"properties": {
"idx_id": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
"description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
},
"filter_field": {
"description": "Field to filter on; needs filter_value.",
"type": "string",
"enum": [
"mlsPtID",
"mlsPropertyType"
]
},
"filter_value": {
"description": "Value to match in filter_field.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"idx_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_mls_search_fields(idx_id, filter_field, filter_value, fields)
The fields of an MLS that can be searched under MLS rules: field name, display name and the property types they belong to. GET /mls/searchfields/{idxID}.
輸入結構描述
{
"type": "object",
"properties": {
"idx_id": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
"description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
},
"filter_field": {
"description": "Field to filter on; needs filter_value.",
"type": "string",
"enum": [
"mlsPtID",
"parentPtID"
]
},
"filter_value": {
"description": "Value to match in filter_field.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"idx_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢idx_list_mls_locations(idx_id, kind, filter_field, filter_value, fields)
Cities, counties or postal codes present in an MLS's data, with ids and a count of occurrences. Filter fields: cities = cityID, cityName, stateAbrv, mlsPtID; counties = countyID, countyName, stateAbrv, mlsPtID; postalcodes = id, stateAbrv, mlsPtID. GET /mls/{cities|counties|postalcodes}/{idxID}.
輸入結構描述
{
"type": "object",
"properties": {
"idx_id": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
"description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
},
"kind": {
"type": "string",
"enum": [
"cities",
"counties",
"postalcodes"
],
"description": "Which list."
},
"filter_field": {
"description": "Field to filter on (must fit kind); needs filter_value.",
"type": "string",
"enum": [
"cityID",
"cityName",
"countyID",
"countyName",
"id",
"stateAbrv",
"mlsPtID"
]
},
"filter_value": {
"description": "Value to match in filter_field.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"fields": {
"description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_*]{1,60}$"
}
}
},
"required": [
"idx_id",
"kind"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡idx_create_lead(first_name, last_name, email, fields)
WRITE: creates a new lead in the IDX Broker account (and may trigger the account's own lead notifications). Needs a correctly formatted email with a valid MX record; IDX rejects bad addresses with a server error. Extra fields go in `fields` by their IDX name, as seen on a lead returned by idx_get_lead. Returns the new lead id. PUT /leads/lead.
輸入結構描述
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Lead first name."
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Lead last name."
},
"email": {
"type": "string",
"maxLength": 200,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Lead email address."
},
"fields": {
"description": "Other updatable lead fields by IDX name, e.g. {\"phone\": \"555-0100\"}. firstName, lastName and email cannot be repeated here.",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]{0,39}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"required": [
"first_name",
"last_name",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡idx_add_lead_note(lead_id, note)
WRITE: adds a note to a lead (visible to the account's agents). Returns the new note id. PUT /leads/note/{leadID}.
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id."
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "Note text."
}
},
"required": [
"lead_id",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴idx_update_lead(lead_id, fields)
WRITE: changes fields of an existing lead; the given values replace the stored ones. Only pass what must change. Field names are the IDX lead field names as seen on a lead returned by idx_get_lead (for example firstName, lastName, email, phone, status). POST /leads/lead/{leadID}.
輸入結構描述
{
"type": "object",
"properties": {
"lead_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "IDX lead id."
},
"fields": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]{0,39}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"description": "Fields to set, by IDX name, e.g. {\"phone\": \"555-0100\"}."
}
},
"required": [
"lead_id",
"fields"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據