Account resources
Discover products, MLS datasets, regions, and delivery channels authorized for the current API key
Use the account resource endpoint at application startup, during onboarding, and after an entitlement change. It is the customer-specific answer to “what can this credential use?”—not a global product catalog.
Interactive reference
Build a request and inspect the complete response schema.
MLS profiles
Resolve branding, attribution, and refresh requirements for each dataset.
Request
curl --request GET \
--url "https://api.example.invalid/v1/account/resources" \
--header "x-api-key: $REALTY_API_KEY"The response is derived from the same verified signed entitlement used to filter listing, OData, search, media, and file-delivery requests.
{
"data": {
"customer_id": "customer_01J...",
"entitlement_version": 17,
"products": ["listings", "media"],
"regions": [{ "kind": "state", "value": "WA" }],
"datasets": [
{
"dataset_id": "1d3d9be4-2a37-4ea7-bd49-214f224b8157",
"originating_system_name": "ExampleMLS",
"display_name": "Example Multiple Listing Service",
"resources": [
{ "name": "Property", "key": "ListingKey", "collection": "/reso/odata/Property" },
{ "name": "Member", "key": "MemberKey", "collection": "/reso/odata/Member" },
{ "name": "Office", "key": "OfficeKey", "collection": "/reso/odata/Office" },
{ "name": "OpenHouse", "key": "OpenHouseKey", "collection": "/reso/odata/OpenHouse" }
],
"links": {
"metadata": "/reso/odata/$metadata",
"service": "/reso/odata",
"mls_profile": "/v1/mls-profiles#1d3d9be4-2a37-4ea7-bd49-214f224b8157"
}
}
],
"channels": {
"api": true,
"odata": true,
"file_delivery": true
}
}
}Inventory is not activation
A dataset profile may report resources present in the licensed dataset while the
public OData service activates a smaller governed set. Always read
/reso/odata and $metadata before constructing resource requests.
Dataset identity
Treat dataset_id as the durable API identity. It remains stable when transport
or ingestion arrangements change. originating_system_name is useful for RESO
queries and attribution, but it is not a durable database or cache key.
| Field | Meaning |
|---|---|
dataset_id | Opaque, stable identifier for one licensed dataset |
originating_system_name | MLS-provided RESO OriginatingSystemName used in records and queries |
display_name | Reviewed customer-facing name for presentation and attribution |
resources | Dataset inventory with the stable key and collection URL for each resource—not a promise that every entity is activated |
entitlement_version | Exact signed authorization version used to construct the response |
Bootstrap sequence
Load account resources
Cache the response briefly and index datasets by dataset_id.
Load MLS profiles
Store disclaimer, logo, rules URL, and required refresh cadence beside the dataset—not beside an individual listing.
Discover activated OData entities
Read /reso/odata, then $metadata. Generate queries only for entity sets
present in both documents.
Start search or replication
Use the JSON search API for application discovery and RESO OData for standards-oriented synchronization.
Refresh behavior
Refresh this document when an API request returns 403, when an entitlement
change notification is received, or on a conservative periodic schedule. Do
not hard-code the list of MLSs. Dataset membership, enabled resources, and
compliance requirements can change independently of an application release.