IDX Broker MCP by usefulapi

Read IDX Broker leads, agents, listings and MLS data; create and update leads and notes.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
98%
Vollständigkeit des Schemas
91%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,526Tokens (Tool-Definitionen)
~2.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.88% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "idx-broker": {
      "url": "https://idx-broker.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://idx-broker.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (27)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}].

Eingabe-Schema

{
  "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}].

Eingabe-Schema

{
  "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}].

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet27 Tools