Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Crea Property API
version: '1.0'
contact:
name: Realtor Support
email: support@realtor.ca
license:
name: MIT
url: https://opensource.org/licenses/MIT
description: 'Operations tagged Property across 2 of this provider''s published API definitions: crea-realtor-ca-ddf-web-api-openapi.json, crea-realtor-ca-ddf-web-api-swagger-endpoint-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://localhost:7051
tags:
- name: Property
description: Get Properties
x-displayName: Property
paths:
/odata/v1/Property:
get:
tags:
- Property
summary: Get a list of Properties
parameters:
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
- name: $count
in: query
description: 'Return, along with the results, the total number of records in the dataset. NOTE: There is a performance cost with this query option.'
schema:
type: boolean
- name: $filter
in: query
description: Filters the results, based on a Boolean condition.
schema:
type: string
- name: $top
in: query
description: Returns only the first n results.
schema:
type: string
- name: $skip
in: query
description: Skips the first n results.
schema:
type: string
- name: $orderby
in: query
description: Sorts the results.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataListResponse_1__DDF.Core.Entities.Property__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
/odata/v1/Property/{PropertyKey}:
get:
tags:
- Property
summary: Get a single Property by PropertyKey
description: 'Both methods are valid and return the same result: a single Property entity identified by its unique PropertyKey.
The path-style is more intuitive and commonly used in RESTful APIs.
The function-style follows OData conventions and may be required in certain query contexts (e.g., when the key contains special characters or is not a simple numeric ID).
<b>Path-style access: </b>```/odata/v1/Property/{PropertyKey}```
<b>Example: </b>```/odata/v1/Property/123456789```
<b>Function-style access: </b>```/odata/v1/Property(''{PropertyKey}'')```
<b>Example: </b>```/odata/v1/Property(''123456789'')```'
parameters:
- name: PropertyKey
in: path
description: A unique identifier for this record from the immediate source
required: true
schema:
type: string
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
responses:
'200':
description: OK (DDF.Core.Entities.Property object)
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataSingleResponse_1__DDF.Core.Entities.Property__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
/odata/v1/Property/PropertyReplication():
get:
tags:
- Property
summary: Get a list of properties for all destinations
description: 'Both methods are valid and return the same result:
The path-style is more intuitive and commonly used in RESTful APIs.
The function-style follows OData conventions.
<b>Path-style access: </b>```/odata/v1/Property/PropertyReplication```
<b>Function-style access: </b>```/odata/v1/Property/PropertyReplication()```
'
parameters:
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
- name: $count
in: query
description: 'Return, along with the results, the total number of records in the dataset. NOTE: There is a performance cost with this query option.'
schema:
type: boolean
- name: $filter
in: query
description: Filters the results, based on a Boolean condition.
schema:
type: string
- name: $orderby
in: query
description: Sorts the results.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataReplicationListResponse_2__DDF.Core.Entities.PropertyIdentifier__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null___DDF.Core.Entities.Property__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
/odata/v1/Property/PropertyReplication(DestinationId={DestinationId}):
get:
tags:
- Property
summary: Get a list of properties for a single destination
operationId: odata/v1/Property/PropertyReplication(DestinationId={DestinationId})
parameters:
- name: DestinationId
in: path
description: A unique identifier for the desired destination
required: true
schema:
type: integer
format: int32
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
- name: $count
in: query
description: 'Return, along with the results, the total number of records in the dataset. NOTE: There is a performance cost with this query option.'
schema:
type: boolean
- name: $filter
in: query
description: Filters the results, based on a Boolean condition.
schema:
type: string
- name: $orderby
in: query
description: Sorts the results.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataReplicationListResponse_2__DDF.Core.Entities.PropertyIdentifier__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null___DDF.Core.Entities.Property__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
components:
schemas:
? DDF.Infrastructure.Swagger.ExampleModels.ODataReplicationListResponse_2__DDF.Core.Entities.PropertyIdentifier__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null___DDF.Core.Entities.Property__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null
: type: object
properties:
'@odata.context':
type:
- string
- 'null'
example: https://localhost:7051/odata/v1/$metadata#DDF.Core.Entities.Property
value:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.PropertyIdentifier'
additionalProperties: false
DDF.Core.Entities.PropertyIdentifier:
type: object
properties:
ListingKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source.
example: '12345'
ModificationTimestamp:
type:
- string
- 'null'
description: The date and time the record was last updated in the source system (in Zulu time (UTC)).
format: date-time
example: '"2021-01-01T12:00:00.000Z"'
additionalProperties: false
DDF.Core.Entities.PropertyRoom:
type: object
properties:
RoomKey:
type:
- string
- 'null'
description: A unique identifier for this record.
example: '12345'
ListingId:
type:
- string
- 'null'
description: This is the foreign ID relating to the Property Resource. The well known identifier for the listing.
example: ListingId
ListingKey:
type:
- string
- 'null'
description: This is the foreign key relating to the property resource. A unique identifier for this record from the immediate source.
example: '12345'
ModificationTimestamp:
type: String
description: Date/time this record was last modified (in Zulu time (UTC)).
format: date-time
example: '"2021-01-01T00:00:00.000Z"'
RoomDescription:
type:
- string
- 'null'
description: A textual description of the given room.
example: RoomDescription
RoomDimensions:
type:
- string
- 'null'
description: A textual description of the dimensions of the given room.
example: RoomDimensions
RoomLength:
type:
- number
- 'null'
description: A numeric representation of the length of the given room. See the RoomLengthWidthUnits for the unit of measurement used for the length and width.
format: double
example: 10
RoomLevel:
type:
- String
- 'null'
description: The level within the dwelling on which the given room is located.
format: 'Enum: RoomLevel'
example: Second level
RoomWidth:
type:
- number
- 'null'
description: A numeric representation of the width of the given room.
format: double
example: 10
RoomLengthWidthUnits:
type:
- String
- 'null'
description: The unit of measurement used for the value in the RoomLength and the RoomWidth fields. e.g. feet, meters, etc.
format: 'Enum: LinearUnits'
example: Square feet
RoomType:
type:
- String
- 'null'
description: The type of room being described by the other fields in the PropertyRooms resource.
format: 'Enum: RoomType'
example: Living room
additionalProperties: false
DDF.Core.Entities.Media:
type: object
properties:
MediaKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source. This may be a number, or string that can include URI or other forms. This is the system you are connecting to and not necessarily the original source of the record.
example: MediaKey
LongDescription:
type:
- string
- 'null'
description: The full description of the object.
example: REALTOR.ca Logo
MediaURL:
type:
- string
- 'null'
description: The URI to the media file referenced by this record.
example: https:///ddfcdn.realtor.ca/realtorlogo.png
ModificationTimestamp:
type:
- String
- 'null'
description: Date/time the record was last modified (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '2019-08-24T14:15:22Z'
Order:
type:
- integer
- 'null'
description: The order in which the media object is displayed. Zero is the primary photo per RETS convention.
format: int32
example: 1
PreferredPhotoYN:
type:
- boolean
- 'null'
description: When set to true, the media record in question is the preferred photo. This will typically mean the photo to be shown when only one of the photos is to be displayed.
example: true
ResourceRecordId:
type:
- string
- 'null'
description: The well known identifier of the related record from the source resource.
example: RealtorLogo.png
ResourceRecordKey:
type:
- string
- 'null'
description: The primary key of the related record from the source resource.
example: '1234'
ResourceName:
type:
- String
- 'null'
description: The resource or table of the listing or other record the media relates to. i.e. Property, Member, Office, etc.
format: 'Enum: ResourceName'
example: Member
MediaCategory:
type:
- String
- 'null'
description: Category describing the , Photos, Documents, Video, Unbranded Virtual Tour, Branded Virtual Tour, Floor Plan, Logo
format: 'Enum: MediaCategory'
example: Photo
additionalProperties: false
DDF.Core.Models.Error:
type: object
properties:
details:
type:
- string
- 'null'
message:
type:
- string
- 'null'
code:
type:
- string
- 'null'
additionalProperties: false
DDF.Core.Models.CustomOdataError:
type: object
properties:
error:
$ref: '#/components/schemas/DDF.Core.Models.Error'
additionalProperties: false
? DDF.Infrastructure.Swagger.ExampleModels.ODataSingleResponse_1__DDF.Core.Entities.Property__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null
: type: object
properties:
'@odata.context':
type:
- string
- 'null'
example: https://localhost:7051/odata/v1/$metadata#DDF.Core.Entities.Property
ListingKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source.
example: '12345'
PropertySubType:
type:
- String
- 'null'
description: A list of types of residential and residential lease properties, i.e. Condo, etc. Or a list of Sub Types for Mobile, such as Expando, Manufactured, Modular, etc.
format: 'Enum: PropertySubType'
example: Business
DocumentsAvailable:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of the Documents available for the property. Knowing what documents are available for the property is valuable information.
format: 'Enum: DocumentsAvailable'
example:
- Floor Plan, Site Plan
LeaseAmount:
type:
- number
- 'null'
description: The amount of any lease the business pays for it's current location.
format: double
example: 1000
LeaseAmountFrequency:
type:
- String
- 'null'
description: The frequency of the LeaseAmount is paid. Monthly, weekly, annual, etc.
format: 'Enum: FeeFrequency'
example: Monthly
BusinessType:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: The type of business being sold. Retail, Recreation, Restaurant, Residential, etc.
format: 'Enum: BusinessType'
example:
- Agriculture, Forestry
LeasePerUnit:
type:
- String
- 'null'
description: A pick list of the unit of measurement used for the lease per unit.
format: 'Enum: LotSizeUnits'
example: Acres
PricePerUnit:
type:
- String
- 'null'
description: A pick list of the unit of measurement used for the price per unit.
format: 'Enum: LotSizeUnits'
example: square feet
WaterBodyName:
type:
- string
- 'null'
description: The name, if known, of the body of water on which the property is located. (E.g., lake name, river name, ocean name, sea name, canal name).
example: WaterBodyName
View:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A view as seen from the listed property.
format: 'Enum: View'
example:
- Ocean view
NumberOfBuildings:
type:
- integer
- 'null'
description: Total number of separate buildings included in the income property.
format: int32
example: 1
NumberOfUnitsTotal:
type:
- integer
- 'null'
description: Total number of units included in the income property, occupied or unoccupied.
format: int32
example: 45
LotFeatures:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of features or description of the lot included in the sale/lease.
format: 'Enum: LotFeatures'
example:
- Acreage
LotSizeArea:
type:
- number
- 'null'
description: The total area of the lot. See Lot Size Units for the units of measurement (Square Feet, Square Meters, Acres, etc.).
format: double
example: 1
LotSizeDimensions:
type:
- string
- 'null'
description: The dimensions of the lot minimally represented as length and width (i.e. 250 x 180) or a measurement of all sides of the polygon representing the property lines of the property. i.e. 30 x 50 x 120 x 60 x 22.
example: 60 X 262
LotSizeUnits:
type:
- String
- 'null'
description: A pick list of the unit of measurement for the area. i.e. Square Feet, Square Meters, Acres, etc.
format: 'Enum: LotSizeUnits'
example: Acres
PoolFeatures:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of features or description of the pool included in the sale/lease.
format: 'Enum: PoolFeatures'
example:
- On Ground Pool
RoadSurfaceType:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: Pick list of types of surface of the Road to access the property. The surface of the road(s) for access to the property is an important factor in determining value of the property and it’s appropriateness for intended use.
format: 'Enum: RoadSurfaceType'
example:
- Paved road
CurrentUse:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of the type(s) of current use of the property. The current use of the property is an important factor in understanding the overall condition of the land and determining it's appropriateness for intended use.
format: 'Enum: CurrentUse'
example:
- Recreational
PossibleUse:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of the type(s) of possible or best uses of the property. Probable use gives a good indication of what the best use or potential use of the property could be. i.e. Primary, Vacation, Investment, Rental, Retirement.
format: 'Enum: PossibleUse'
example:
- Agriculture - active
AnchorsCoTenants:
type:
- string
- 'null'
description: The main or most notable tenants as well as other tenants of the shopping center or mall in which the commercial property is located.
example: AnchorsCoTenant
WaterfrontFeatures:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of the features or description of the waterfront on which the property is located.
format: 'Enum: WaterfrontFeatures'
CommunityFeatures:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of features related to, or available within, the community.
format: 'Enum: CommunityFeatures'
FrontageLengthNumeric:
type:
- number
- 'null'
description: A numeric representation of the length of the frontage.
format: double
example: 400
FrontageLengthNumericUnits:
type:
- String
- 'null'
description: The unit of measurement used for the value in the FrontageLengthNumeric fields. e.g. feet, meters, etc.
format: 'Enum: LinearUnits'
Fencing:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of types of fencing at the property.
format: 'Enum: Fencing'
Appliances:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list of the appliances that will be included in the sale/lease of the property.
format: 'Enum: Appliances'
example:
- Dryer - Electric
OtherEquipment:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: 'A list of other equipment that will be included in the sale of the property. '
format: 'Enum: OtherEquipment'
example:
- Unknown
SecurityFeatures:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: A list describing the security features included in the sale/lease.
format: 'Enum: SecurityFeatures'
TotalActualRent:
type:
- number
- 'null'
description: Total actual rent currently being collected from tenants of the income property.
format: double
example: 300
ExistingLeaseType:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: Information about the status of the existing lease on the property. i.e. Net, Gross, Percentage,, etc.
format: 'Enum: ExistingLeaseType'
example:
- Percentage
AssociationFee:
type:
- number
- 'null'
description: A fee paid by the homeowner to the Home Owners Association which is used for the upkeep of the common area, neighborhood or other association related benefits.
format: double
example: 10
AssociationFeeFrequency:
type:
- String
- 'null'
description: The frequency the Association fee is paid. For example, Weekly, Monthly, Annually, Bi-Monthly, One Time, etc.
format: 'Enum: FeeFrequency'
example: Monthly
AssociationName:
type:
- string
- 'null'
description: The name of the Home Owners Association.
example: AssociationName
AssociationFeeIncludes:
type:
- Array of Strings
- 'null'
items:
type: integer
format: int32
description: Services included with the association fee. For example Landscaping, Trash, Water, etc.
format: 'Enum: AssociationFeeIncludes'
example:
- Management
OriginalEntryTimestamp:
type:
- String
- 'null'
description: The date and time the record was inserted into the source system (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T00:00:00.000Z"'
ModificationTimestamp:
type:
- String
- 'null'
description: The date and time the record was last updated in the source system (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T00:00:00.000Z"'
AvailabilityDate:
type:
- string
- 'null'
description: The date the property will be available for possession/occupation.
format: date-time
example: '"2021-01-01T00:00:00.000Z"'
ListingId:
type:
- string
- 'null'
description: The well known identifier for the listing. The value may be identical to that of the Listing Key, but the Listing ID is intended to be the value used by a human to retrieve the information about a specific listing. In a multiple originating system or a merged system, this value may not be unique and may require the use of the provider system to create a synthetic unique value.
example: '00001'
ListAgentNationalAssociationId:
type:
- string
- 'null'
description: A system unique identifier. This is the primary MemberKey that the property belongs to.
example: '00001'
CoListAgentNationalAssociationId:
type:
- string
- 'null'
description: A system unique identifier. This is the secondary MemberKey that the property belongs to.
example: '00001'
CoListAgentNationalAssociationId2:
type:
- string
- 'null'
description: A system unique identifier. This is the secondary MemberKey that the property belongs to.
example: '00001'
CoListAgentNationalAssociationId3:
type:
- string
- 'null'
description: A system unique identifier. This is the secondary MemberKey that the property belongs to.
example: '00001'
InternetEntireListingDisplayYN:
type:
- boolean
- 'null'
description: A yes/no field that states the seller has allowed the listing to be displayed on Internet sites.
example: true
StandardStatus:
type:
- String
- 'null'
description: The status of the listing. This is a Single Select field.
format: 'Enum: StandardStatus'
StatusChangeTimestamp:
type:
- String
- 'null'
description: The transactional timestamp automatically recorded by the MLS system representing the date/time the listing's status was last changed (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T00:00:00.000Z"'
PublicRemarks:
type:
- string
- 'null'
description: Text remarks that may be displayed to the public.
example: PRIME COMMERCIAL LOCATION.
ListPrice:
type:
- number
- 'null'
description: The current price of the property as determined by the seller and the seller's broker. For auctions this is the minimum or reserve price.
format: double
example: 800000
Inclusions:
type:
- string
- 'null'
description: Portable elements of the property that will be included in the sale.
example: Inclusions
ListOfficeKey:
type:
- string
- 'null'
description: A system unique identifier. This is the OfficeKey that the property belongs to.
example: ListOfficeKey
CoListOfficeKey:
type:
- string
- 'null'
description: A system unique identifier. This is the secondary OfficeKey that the property belongs to.
example: CoListOfficeKey
CoListOfficeKey2:
type:
- string
- 'null'
description: A system unique identifier. This is the secondary OfficeKey that the property belongs to.
CoListOfficeKey3:
type:
- string
- 'null'
description: A system unique identifier. This is the secondary OfficeKey that the property belongs to.
example: CoListOfficeKey3
ListOfficeNationalAssociationId:
type:
- string
- 'null'
description: A system unique identifier. This is the primary OfficeKey that the property belongs to.
example: ListOfficeNationalAssociationId
# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/crea/refs/heads/main/openapi/crea-property-api-openapi.yml