overlay: 1.0.0
info:
title: API Evangelist enhancements for the REALTOR.ca DDF Web API
version: 1.0.0
extends: openapi/realtor-ca-ddf-web-api-openapi.json
x-apievangelist:
generated: '2026-07-26'
method: generated
source: >-
Enhancements derived from CREA's own published documentation at https://ddfapi-docs.realtor.ca/
and from https://identity.crea.ca/.well-known/openid-configuration. Nothing here is invented —
each action restates something CREA documents in prose but omitted from the machine-readable
contract. The original spec, harvested verbatim from
https://ddfapi.realtor.ca/swagger/v1/swagger.json, is never mutated.
fixes:
- servers[] is published as https://localhost:7051, a development artifact; the real hosts are
https://ddfapi.realtor.ca/odata/v1 (Web API) and https://ddfapi.realtor.ca/v1 (Lead API).
- No components.securitySchemes and no security requirement is declared, even though every
operation returns 401 without a Bearer token.
- info.description is empty in this copy; the narrative lives only in the documentation copy.
actions:
- target: $.info
update:
description: >-
The REALTOR.ca Data Distribution Facility (DDF) Web API is CREA's national MLS System listing
distribution surface — OData v4 read endpoints over Property, Member, Office, OpenHouse and
Destination, plus per-resource Replication endpoints for incremental sync, and a single
Lead write endpoint. Data is normalized to the RESO Data Dictionary. Every endpoint,
including the OData $metadata document, requires an OAuth 2.0 Bearer token obtained with
DDF data-feed credentials.
x-apievangelist-source: https://ddfapi-docs.realtor.ca/
x-apievangelist-access: membership-required
x-apievangelist-reso: data-dictionary-aligned-not-certified
- target: $.servers
update:
- url: https://ddfapi.realtor.ca/odata/v1
description: DDF Web API (OData v4) — production. Replaces the published https://localhost:7051 placeholder.
- url: https://ddfapi.realtor.ca/v1
description: DDF Lead API — production.
- target: $.components.securitySchemes
update:
DDFApiOAuth2:
type: oauth2
description: >-
OAuth 2.0 client_credentials against CREA's IdentityServer. client_id and client_secret are
the username and password of a member-registered DDF Destination (data feed). Tokens live
3,600 seconds and are not sliding.
flows:
clientCredentials:
tokenUrl: https://identity.crea.ca/connect/token
scopes:
DDFApi_Read: Read access to the DDF Web API resources entitled to the calling data feed.
BearerAuth:
type: http
scheme: bearer
description: 'Authorization: Bearer {access_token} obtained from https://identity.crea.ca/connect/token.'
- target: $
update:
security:
- DDFApiOAuth2: [DDFApi_Read]
- target: $.externalDocs
update:
description: REALTOR.ca DDF Web API documentation
url: https://ddfapi-docs.realtor.ca/
- target: $.info.x-apievangelist-conventions
update:
pagination:
default_page_size: 20
max_page_size: 100
next_field: '@odata.nextLink'
replication_threshold: 10000
incremental_sync_cursor: ModificationTimestamp
timestamps: UTC
idempotency: none
rate_limits: undocumented
error_envelope: '{"error":{"message","code","details"}}'
- target: $.info.x-apievangelist-artifacts
update:
authentication: authentication/realtor-ca-authentication.yml
scopes: scopes/realtor-ca-scopes.yml
conventions: conventions/realtor-ca-conventions.yml
errors: errors/realtor-ca-problem-types.yml
lifecycle: lifecycle/realtor-ca-lifecycle.yml
data_model: data-model/realtor-ca-data-model.yml
changelog: changelog/realtor-ca-changelog.yml
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.