IDX Broker MCP by usefulapi

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
91%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~7,526Tokens (definiciones de herramientas)
~2.2 KBTamaño de respuesta típico
Impacto significativo en la atención (5.88% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (27)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada27 herramientas