EasyAgentIDX

Platform Resources

The Developer Platform connects a custom application to more than property search. It exposes the customer-owned EasyAgentIDX resources included with the effective plan and API key scopes.

Start with capabilities

Call GET /platform/capabilities when your server starts and after a plan or add-on change. The developer_platform.operations list contains implemented operations available to this key, with their method, path, scope, resource boundary, and retry requirements. Valuation operations appear only when the website has an active product. Use this list with the resource reference instead of assuming that every capability supports every action.

curl "https://app.easyagentidx.com/api/v1/platform/capabilities"   -H "Authorization: Bearer $EASYAGENTIDX_API_KEY"   -H "X-EAI-Site-ID: $EASYAGENTIDX_SITE_ID"

Resources

EndpointScopeReturns
GET /platform/capabilitiesplatform:readEffective plan, delegated access, key scopes, capabilities, plan features, site, and active add-ons
GET /platform/sitessites:readThe verified website bound to the key, active MLS feed summary, and widget count
GET /platform/widgetswidgets:readWidget definitions, configuration, appearance, status, and embed keys for the approved website
GET /platform/widgets/{id}widgets:readOne widget and its ETag for version-aware updates
POST /platform/widgetswidgets:writeCreate a widget bound to the approved website and feed
PATCH /platform/widgets/{id}widgets:writeUpdate name, configuration, appearance, lead rules, or active and paused status
DELETE /platform/widgets/{id}widgets:writeRemove a widget and invalidate its embed configuration
GET /platform/visitorsvisitors:readRegistered visitor contact records without passwords or authentication tokens
GET /platform/saved-searchessaved-searches:readSaved search criteria, alert frequency, and delivery status
GET /platform/saved-listingssaved-listings:readSaved listing identifiers without stale property snapshots
GET /platform/analytics?days=30analytics:readSite-scoped usage totals for a period from 1 to 90 days
GET /platform/homethread/collectionshomethread:readHomeThread collection summaries for the account
GET /platform/teamteam:readBrokerage team members and allowlisted public profile fields
GET /platform/clientsclients:readAgency Partner client workspace summaries and delegated product status
GET /platform/compliancelistings:readMLS board attribution, display rules, and cache limits for the approved feed

Capability behavior

  • Pro includes IDX, leads, sites, widgets, analytics, webhooks and eligible Home Valuations resources. HomeThread resources become available at its separate app launch.
  • Brokerage adds team and agent resources.
  • Agency Partner adds client workspace resources.
  • Enterprise includes organization resources and the published Enterprise API limit. Agency client workspace management remains an Agency Partner capability.
  • Agency client accounts receive only the products explicitly delegated by the parent agency.

Note

A capability must be included with the account and the key must also hold the required scope. Home Valuations endpoints additionally require an active add-on for the approved website.

Stable public fields

Responses use EasyAgentIDX-owned snake case fields. Upstream provider credentials, billing records, employee administration, internal storage keys, and unreviewed profile JSON are not exposed.

Website scope and account scope

IDX, widgets, analytics, compliance, valuations, and lead resources resolve through the website bound to the key. Visitors, saved searches, saved listings, team, agency client, and HomeThread resources are account-level capabilities and require separate least-privilege scopes.

Supported operations

Widgets support creation, configuration, status changes, and deletion. Lead resources support creation, updates, and deletion. Home Valuations supports estimates, history, and credit usage. Other platform resources currently support reads. Visitor registration, team invitations, billing, credential management, and HomeThread collaboration changes use their existing dashboard, widget, or mobile flows.

Manage a widget

Send a unique Idempotency-Key with each new widget operation. The key must contain 8 to 128 letters, numbers, dots, colons, underscores, or hyphens. Retry an interrupted request with the same key and request body. Committed responses are retained for 24 hours.

curl "https://app.easyagentidx.com/api/v1/platform/widgets" \
  -H "Authorization: Bearer $EASYAGENTIDX_API_KEY" \
  -H "X-EAI-Site-ID: $EASYAGENTIDX_SITE_ID" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: create-search-widget-001" \
  -d '{"name":"Property Search","type":"search","config":{},"appearance":{}}'

The response contains the widget ID, embed key, configuration, appearance, lead rules, and timestamps. Use the supported widget types and configuration fields from the widget documentation. JSON bodies are limited to 64 KB and configuration nesting to eight levels. The API chooses the account, website, and feed. Those fields, embed keys, and allowed origins cannot be supplied or changed.

Before updating or deleting, retrieve the widget and copy its ETag header into If-Match. A concurrent edit returns 412 PRECONDITION_FAILED. Retrieve the latest version and start a new operation with a new retry key. A missing version returns 428 PRECONDITION_REQUIRED. Reusing a retry key with different fields returns 409 IDEMPOTENCY_CONFLICT.

Creating or editing team widgets requires current team access. Creating or editing Home Valuation widgets requires an active Home Valuations product for the website and the applicable Agency client grant. You can still remove an owned obsolete widget after its product access ends. Deleting a widget stops its embed from loading. API changes appear in the existing widget dashboard and are recorded in the account audit log.

Visitors, saved searches, and saved listings accept page and per_page, with a maximum of 100 records per page. Re-fetch each saved listing through the Listings API before display. A saved identifier does not preserve display rights after a property leaves the feed.

Warning

These endpoints are server-to-server resources. An API key is not a visitor login. Authenticate users in your application and enforce their access before showing private contact records, saved searches, or collaboration data.