REALTOR.ca · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the REALTOR.ca DDF Web API

7 actions 7 updates documentation extends openapi/realtor-ca-ddf-web-api-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for REALTOR.ca's API. It is a proposal applied on top of the contract, not a document REALTOR.ca publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptionx-apievangelist-sourcex-apievangelist-accessx-apievangelist-resoDDFApiOAuth2BearerAuthsecurityurl

Targets 7

$.info
$.servers
$.components.securitySchemes
$
$.externalDocs
$.info.x-apievangelist-conventions
$.info.x-apievangelist-artifacts

OpenAPI Overlay

Raw ↑
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