Use the EstateSync API to easily distribute real estate data to major German market places. Send your data once – publish it on all the platforms.
Please refer to the Documentation for additional information and guides. You are currently looking at the API reference.
When you sign up for an account a first API key will be automatically added. You can use it to publish and modify resources. EstateSync uses Bearer Authentication. Just provide the header Authorization
with the value Bearer {your-api-key}
.
Update your consumer credentials for Immobilienscout24. Necessary to be able to create targets of type immobilienscout-24
.
key required | string |
secret required | string |
{- "key": "string",
- "secret": "string"
}
{- "error": "Bad Request",
- "message": "The request cannot be fulfilled because ...",
- "statusCode": 400
}
Update your consumer credentials for the Immobilienscout24 Sandbox. Necessary to be able to create targets of type immobilienscout-24-sandbox
.
key required | string |
secret required | string |
{- "key": "string",
- "secret": "string"
}
{- "error": "Bad Request",
- "message": "The request cannot be fulfilled because ...",
- "statusCode": 400
}
Add a new property to your account.
type required | any Value: "apartmentRent" The type of the property. Cannot be changed afterwards. |
required | object Attributes which can be specified for the property, based on its type. |
Array of objects <= 150 items Add images or PDFs to the property by providing the URL where you host them. The order of the attachments will be respected and the first image attachment will be used as the title image. Attachments cannot be larger than 16mb. | |
Array of objects <= 10 items Add external links (e.g. for virtual tours) to the property by providing their URLs and titles. Note that targets usually only display virtual tours for certain providers. For | |
contactId | string = 20 characters References a contact. Can be left out to use the default contact of the target platform. |
externalId | string [ 1 .. 50 ] characters ^[a-zA-Z0-9/_#+:@\s\-]+$ Custom identifier for the property. Will be created automatically if not given. Cannot be changed after property creation. Check the guides in the documentation for more information. |
{- "type": "apartmentRent",
- "fields": {
- "additionalCosts": 210,
- "additionalCostsIncludeHeatingCosts": true,
- "address": {
- "street": "Example Street",
- "streetNumber": "42",
- "postalCode": "28197",
- "city": "Example Town",
- "region": "string",
- "country": "string",
- "publish": false
}, - "apartmentType": "penthouse",
- "availableFrom": "immediately, latest in March",
- "baseRent": 830,
- "commission": "5,95% incl. 19% VAT",
- "commissionDescription": "My first commission description for a property.",
- "condition": "refurbished",
- "constructionYear": 1997,
- "deposit": "2x Cold Rent",
- "description": "My first detailed description for a property.",
- "energyCertificateStatus": "present",
- "floor": 2,
- "furnishingDescription": "My first furnishing description for a property.",
- "hasBalcony": true,
- "hasBuiltInKitchen": true,
- "hasCellar": false,
- "hasGarden": true,
- "hasGuestToilet": false,
- "hasLift": true,
- "heatingCosts": 160,
- "heatingType": "central",
- "interiorQuality": "standard",
- "isAccessible": true,
- "isSuitableAsSharedFlat": false,
- "lastRefurbished": 2016,
- "livingArea": 95.2,
- "locationDescription": "My first location description for a property.",
- "miscellaneousDescription": "My first misc description for a property.",
- "numberOfBathrooms": 1,
- "numberOfBedrooms": 2,
- "numberOfFloors": 4,
- "numberOfParkingSpaces": 2,
- "numberOfRooms": 7,
- "parkingSpaceRent": 45,
- "parkingSpaceType": "garage",
- "petsAllowed": true,
- "requiresWBS": false,
- "residentialEnergyCertificate": {
- "type": "consumption",
- "prior2014": false,
- "energySource": "solar",
- "energyNeed": 0.01,
- "energyConsumption": 0.01,
- "energyClass": "A+",
- "warmWaterIncluded": true
}, - "title": "Wonderful new Home close to large Lake",
- "totalRent": 1100,
- "usableArea": 80.5
}, - "attachments": [
- {
- "type": "image/jpeg",
- "watermarkCaption": "© All Rights Reserved",
- "title": "House Entrance",
- "isBlueprint": false
}
], - "contactId": "stringstringstringst",
- "externalId": "string"
}
{- "type": "apartmentRent",
- "fields": {
- "additionalCosts": 210,
- "additionalCostsIncludeHeatingCosts": true,
- "address": {
- "street": "Example Street",
- "streetNumber": "42",
- "postalCode": "28197",
- "city": "Example Town",
- "region": "string",
- "country": "string",
- "publish": false
}, - "apartmentType": "penthouse",
- "availableFrom": "immediately, latest in March",
- "baseRent": 830,
- "commission": "5,95% incl. 19% VAT",
- "commissionDescription": "My first commission description for a property.",
- "condition": "refurbished",
- "constructionYear": 1997,
- "deposit": "2x Cold Rent",
- "description": "My first detailed description for a property.",
- "energyCertificateStatus": "present",
- "floor": 2,
- "furnishingDescription": "My first furnishing description for a property.",
- "hasBalcony": true,
- "hasBuiltInKitchen": true,
- "hasCellar": false,
- "hasGarden": true,
- "hasGuestToilet": false,
- "hasLift": true,
- "heatingCosts": 160,
- "heatingType": "central",
- "interiorQuality": "standard",
- "isAccessible": true,
- "isSuitableAsSharedFlat": false,
- "lastRefurbished": 2016,
- "livingArea": 95.2,
- "locationDescription": "My first location description for a property.",
- "miscellaneousDescription": "My first misc description for a property.",
- "numberOfBathrooms": 1,
- "numberOfBedrooms": 2,
- "numberOfFloors": 4,
- "numberOfParkingSpaces": 2,
- "numberOfRooms": 7,
- "parkingSpaceRent": 45,
- "parkingSpaceType": "garage",
- "petsAllowed": true,
- "requiresWBS": false,
- "residentialEnergyCertificate": {
- "type": "consumption",
- "prior2014": false,
- "energySource": "solar",
- "energyNeed": 0.01,
- "energyConsumption": 0.01,
- "energyClass": "A+",
- "warmWaterIncluded": true
}, - "title": "Wonderful new Home close to large Lake",
- "totalRent": 1100,
- "usableArea": 80.5
}, - "attachments": [
- {
- "type": "image/jpeg",
- "watermarkCaption": "© All Rights Reserved",
- "title": "House Entrance",
- "isBlueprint": false
}
], - "contactId": "stringstringstringst",
- "externalId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "processingStatus": "successful",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Return all properties of your account.
usePagination | boolean Default: false Temporary parameter to enable pagination. Will be removed on January 15th, 2025 as pagination becomes the default. |
limit | integer [ 1 .. 100 ] Default: 10 The maximum number of resources to return. Only available when |
startAfter | string = 20 characters A cursor to use in pagination. |
{- "hasMore": true,
- "data": [
- {
- "type": "apartmentRent",
- "fields": {
- "additionalCosts": 210,
- "additionalCostsIncludeHeatingCosts": true,
- "address": {
- "street": "Example Street",
- "streetNumber": "42",
- "postalCode": "28197",
- "city": "Example Town",
- "region": "string",
- "country": "string",
- "publish": false
}, - "apartmentType": "penthouse",
- "availableFrom": "immediately, latest in March",
- "baseRent": 830,
- "commission": "5,95% incl. 19% VAT",
- "commissionDescription": "My first commission description for a property.",
- "condition": "refurbished",
- "constructionYear": 1997,
- "deposit": "2x Cold Rent",
- "description": "My first detailed description for a property.",
- "energyCertificateStatus": "present",
- "floor": 2,
- "furnishingDescription": "My first furnishing description for a property.",
- "hasBalcony": true,
- "hasBuiltInKitchen": true,
- "hasCellar": false,
- "hasGarden": true,
- "hasGuestToilet": false,
- "hasLift": true,
- "heatingCosts": 160,
- "heatingType": "central",
- "interiorQuality": "standard",
- "isAccessible": true,
- "isSuitableAsSharedFlat": false,
- "lastRefurbished": 2016,
- "livingArea": 95.2,
- "locationDescription": "My first location description for a property.",
- "miscellaneousDescription": "My first misc description for a property.",
- "numberOfBathrooms": 1,
- "numberOfBedrooms": 2,
- "numberOfFloors": 4,
- "numberOfParkingSpaces": 2,
- "numberOfRooms": 7,
- "parkingSpaceRent": 45,
- "parkingSpaceType": "garage",
- "petsAllowed": true,
- "requiresWBS": false,
- "residentialEnergyCertificate": {
- "type": "consumption",
- "prior2014": false,
- "energySource": "solar",
- "energyNeed": 0.01,
- "energyConsumption": 0.01,
- "energyClass": "A+",
- "warmWaterIncluded": true
}, - "title": "Wonderful new Home close to large Lake",
- "totalRent": 1100,
- "usableArea": 80.5
}, - "attachments": [
- {
- "type": "image/jpeg",
- "watermarkCaption": "© All Rights Reserved",
- "title": "House Entrance",
- "isBlueprint": false
}
], - "contactId": "stringstringstringst",
- "externalId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "processingStatus": "successful",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
Return a specific property of your account.
id required | string The ID of the property. |
{- "type": "apartmentRent",
- "fields": {
- "additionalCosts": 210,
- "additionalCostsIncludeHeatingCosts": true,
- "address": {
- "street": "Example Street",
- "streetNumber": "42",
- "postalCode": "28197",
- "city": "Example Town",
- "region": "string",
- "country": "string",
- "publish": false
}, - "apartmentType": "penthouse",
- "availableFrom": "immediately, latest in March",
- "baseRent": 830,
- "commission": "5,95% incl. 19% VAT",
- "commissionDescription": "My first commission description for a property.",
- "condition": "refurbished",
- "constructionYear": 1997,
- "deposit": "2x Cold Rent",
- "description": "My first detailed description for a property.",
- "energyCertificateStatus": "present",
- "floor": 2,
- "furnishingDescription": "My first furnishing description for a property.",
- "hasBalcony": true,
- "hasBuiltInKitchen": true,
- "hasCellar": false,
- "hasGarden": true,
- "hasGuestToilet": false,
- "hasLift": true,
- "heatingCosts": 160,
- "heatingType": "central",
- "interiorQuality": "standard",
- "isAccessible": true,
- "isSuitableAsSharedFlat": false,
- "lastRefurbished": 2016,
- "livingArea": 95.2,
- "locationDescription": "My first location description for a property.",
- "miscellaneousDescription": "My first misc description for a property.",
- "numberOfBathrooms": 1,
- "numberOfBedrooms": 2,
- "numberOfFloors": 4,
- "numberOfParkingSpaces": 2,
- "numberOfRooms": 7,
- "parkingSpaceRent": 45,
- "parkingSpaceType": "garage",
- "petsAllowed": true,
- "requiresWBS": false,
- "residentialEnergyCertificate": {
- "type": "consumption",
- "prior2014": false,
- "energySource": "solar",
- "energyNeed": 0.01,
- "energyConsumption": 0.01,
- "energyClass": "A+",
- "warmWaterIncluded": true
}, - "title": "Wonderful new Home close to large Lake",
- "totalRent": 1100,
- "usableArea": 80.5
}, - "attachments": [
- {
- "type": "image/jpeg",
- "watermarkCaption": "© All Rights Reserved",
- "title": "House Entrance",
- "isBlueprint": false
}
], - "contactId": "stringstringstringst",
- "externalId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "processingStatus": "successful",
- "updatedAt": "2019-08-24T14:15:22Z"
}
When you update the property EstateSync will automatically publish it to all targets it is currently listed on. This means that corresponding webhooks will be fired again when the listing was updated successfully.
id required | string The ID of the property. |
type required | any Value: "apartmentRent" The type of the property. Cannot be changed afterwards. |
required | object Attributes which can be specified for the property, based on its type. |
Array of objects <= 150 items Add images or PDFs to the property by providing the URL where you host them. The order of the attachments will be respected and the first image attachment will be used as the title image. Attachments cannot be larger than 16mb. | |
Array of objects <= 10 items Add external links (e.g. for virtual tours) to the property by providing their URLs and titles. Note that targets usually only display virtual tours for certain providers. For | |
contactId | string = 20 characters References a contact. Can be left out to use the default contact of the target platform. |
externalId | string [ 1 .. 50 ] characters ^[a-zA-Z0-9/_#+:@\s\-]+$ Custom identifier for the property. Will be created automatically if not given. Cannot be changed after property creation. Check the guides in the documentation for more information. |
{- "type": "apartmentRent",
- "fields": {
- "additionalCosts": 210,
- "additionalCostsIncludeHeatingCosts": true,
- "address": {
- "street": "Example Street",
- "streetNumber": "42",
- "postalCode": "28197",
- "city": "Example Town",
- "region": "string",
- "country": "string",
- "publish": false
}, - "apartmentType": "penthouse",
- "availableFrom": "immediately, latest in March",
- "baseRent": 830,
- "commission": "5,95% incl. 19% VAT",
- "commissionDescription": "My first commission description for a property.",
- "condition": "refurbished",
- "constructionYear": 1997,
- "deposit": "2x Cold Rent",
- "description": "My first detailed description for a property.",
- "energyCertificateStatus": "present",
- "floor": 2,
- "furnishingDescription": "My first furnishing description for a property.",
- "hasBalcony": true,
- "hasBuiltInKitchen": true,
- "hasCellar": false,
- "hasGarden": true,
- "hasGuestToilet": false,
- "hasLift": true,
- "heatingCosts": 160,
- "heatingType": "central",
- "interiorQuality": "standard",
- "isAccessible": true,
- "isSuitableAsSharedFlat": false,
- "lastRefurbished": 2016,
- "livingArea": 95.2,
- "locationDescription": "My first location description for a property.",
- "miscellaneousDescription": "My first misc description for a property.",
- "numberOfBathrooms": 1,
- "numberOfBedrooms": 2,
- "numberOfFloors": 4,
- "numberOfParkingSpaces": 2,
- "numberOfRooms": 7,
- "parkingSpaceRent": 45,
- "parkingSpaceType": "garage",
- "petsAllowed": true,
- "requiresWBS": false,
- "residentialEnergyCertificate": {
- "type": "consumption",
- "prior2014": false,
- "energySource": "solar",
- "energyNeed": 0.01,
- "energyConsumption": 0.01,
- "energyClass": "A+",
- "warmWaterIncluded": true
}, - "title": "Wonderful new Home close to large Lake",
- "totalRent": 1100,
- "usableArea": 80.5
}, - "attachments": [
- {
- "type": "image/jpeg",
- "watermarkCaption": "© All Rights Reserved",
- "title": "House Entrance",
- "isBlueprint": false
}
], - "contactId": "stringstringstringst",
- "externalId": "string"
}
{- "type": "apartmentRent",
- "fields": {
- "additionalCosts": 210,
- "additionalCostsIncludeHeatingCosts": true,
- "address": {
- "street": "Example Street",
- "streetNumber": "42",
- "postalCode": "28197",
- "city": "Example Town",
- "region": "string",
- "country": "string",
- "publish": false
}, - "apartmentType": "penthouse",
- "availableFrom": "immediately, latest in March",
- "baseRent": 830,
- "commission": "5,95% incl. 19% VAT",
- "commissionDescription": "My first commission description for a property.",
- "condition": "refurbished",
- "constructionYear": 1997,
- "deposit": "2x Cold Rent",
- "description": "My first detailed description for a property.",
- "energyCertificateStatus": "present",
- "floor": 2,
- "furnishingDescription": "My first furnishing description for a property.",
- "hasBalcony": true,
- "hasBuiltInKitchen": true,
- "hasCellar": false,
- "hasGarden": true,
- "hasGuestToilet": false,
- "hasLift": true,
- "heatingCosts": 160,
- "heatingType": "central",
- "interiorQuality": "standard",
- "isAccessible": true,
- "isSuitableAsSharedFlat": false,
- "lastRefurbished": 2016,
- "livingArea": 95.2,
- "locationDescription": "My first location description for a property.",
- "miscellaneousDescription": "My first misc description for a property.",
- "numberOfBathrooms": 1,
- "numberOfBedrooms": 2,
- "numberOfFloors": 4,
- "numberOfParkingSpaces": 2,
- "numberOfRooms": 7,
- "parkingSpaceRent": 45,
- "parkingSpaceType": "garage",
- "petsAllowed": true,
- "requiresWBS": false,
- "residentialEnergyCertificate": {
- "type": "consumption",
- "prior2014": false,
- "energySource": "solar",
- "energyNeed": 0.01,
- "energyConsumption": 0.01,
- "energyClass": "A+",
- "warmWaterIncluded": true
}, - "title": "Wonderful new Home close to large Lake",
- "totalRent": 1100,
- "usableArea": 80.5
}, - "attachments": [
- {
- "type": "image/jpeg",
- "watermarkCaption": "© All Rights Reserved",
- "title": "House Entrance",
- "isBlueprint": false
}
], - "contactId": "stringstringstringst",
- "externalId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "processingStatus": "successful",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Permanently delete a property. To delete a property that still has listings one needs to delete these listings first so that EstateSync can unpublish them.
id required | string The ID of the property. |
{- "error": "Not Found",
- "message": "There is no resource with the id [...].",
- "statusCode": 404
}
Return all targets of your account.
usePagination | boolean Default: false Temporary parameter to enable pagination. Will be removed on January 15th, 2025 as pagination becomes the default. |
limit | integer [ 1 .. 100 ] Default: 10 The maximum number of resources to return. Only available when |
startAfter | string = 20 characters A cursor to use in pagination. |
[- {
- "createdAt": "2019-08-24T14:15:22Z",
- "emailId": "string",
- "id": "string",
- "type": "ebay-kleinanzeigen",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
For targets ebay-kleinanzeigen
, immowelt
, immozentral
, immopool
, neubaukompass
, willhaben-at
, immobilienscout-24-at
, wp-immomakler
, immonex-openimmo-2-wp
and 1a-immobilienmarkt
For these targets you need to provide FTP credentials that you or a third party can receive from the corresponding platforms.
For targets immobilienscout-24
and immobilienscout-24-sandbox
You need to let your customer approve the connection between you and his Immobilienscout24 account first if you want to publish properties on his behalf on the platform.
This is the same process as if you were allowing an app to post on your Facebook account. In order to do that, the app would redirect you to Facebook, where you would need to sign in and then grant this permission.
Usually this is a complicated procedure however EstateSync makes the process very easy.
To get started you need to obtain "consumer credentials" from Immobilienscout24. You can request these credentials with the official registration form. Choose "Customer website / real estate management" as use case option and select "Sandbox and Production" if you want to use both immobilienscout-24
and immobilienscout-24-target
.
After obtaining the consumer credentials you need to add them to your EstateSync account (you only need to do this once, so feel free to use something like Postman). You can find the documentation for this request under the /account endpoint.
Now you can create a target as documented below. Make sure to redirect your customer to the authorizationUrl
that comes with the response. It will take him to the Immobilienscout24 page where he is asked to permit the connection of your app with his account. After he accepts he will be redirected to the redirectUrl
you initially provided in the create request. From now on the target is active and you can add listings to it.
autoCollectRequests | boolean (autoCollectRequests) If present and |
required | object |
type required | string Value: "ebay-kleinanzeigen" |
{- "autoCollectRequests": true,
- "type": "ebay-kleinanzeigen"
}
{- "createdAt": "2019-08-24T14:15:22Z",
- "emailId": "string",
- "id": "string",
- "type": "ebay-kleinanzeigen",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Return a specific target of your account.
id required | string The ID of the target. |
{- "createdAt": "2019-08-24T14:15:22Z",
- "emailId": "string",
- "id": "string",
- "type": "ebay-kleinanzeigen",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Permanently delete a target. To delete a target that still has listings one needs to delete these listings first so that EstateSync can unpublish them.
id required | string The ID of the target. |
{- "error": "Not Found",
- "message": "There is no resource with the id [...].",
- "statusCode": 404
}
Update a specific target. This will lead to a re-publication of all listings of the target if the target type is not immobilienscout-24
or immobilienscout-24-sandbox
. For these target types, the request will instead return a fresh authorizationUrl
for the target. Only when the end user successfully completes the authentication flow again using this URL will all listings of the target be republished.
id required | string The ID of the target. |
autoCollectRequests | boolean (autoCollectRequests) If present and |
required | object |
type required | string Value: "ebay-kleinanzeigen" |
{- "autoCollectRequests": true,
- "type": "ebay-kleinanzeigen"
}
{- "createdAt": "2019-08-24T14:15:22Z",
- "emailId": "string",
- "id": "string",
- "type": "ebay-kleinanzeigen",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Return all listings that are currently on your account.
usePagination | boolean Default: false Temporary parameter to enable pagination. Will be removed on January 15th, 2025 as pagination becomes the default. |
limit | integer [ 1 .. 100 ] Default: 10 The maximum number of resources to return. Only available when |
startAfter | string = 20 characters A cursor to use in pagination. |
{- "hasMore": true,
- "data": [
- {
- "createdAt": "2022-01-01T09:00:00Z",
- "id": "listing-id",
- "propertyId": "property-id",
- "targetId": "target-id"
}
]
}
Create a new listing and hence publish the property. The action will be processed in our queue. We will post to your webhook when the listing has been created successfully (at this moment the published
attribute on the listing will change to true
).
Be aware that you can not create listings for the targets immobilienscout-24
and immobilienscout-24-sandbox
unless their authorizationStatus
is accepted
.
preventPublication | boolean Only allowed if targetId references an |
propertyId required | string The ID of the property that should be published. Cannot be changed after creation. |
targetId required | string The ID of the target the listing should appear on. Cannot be changed after creation. |
{- "propertyId": "property-id",
- "targetId": "target-id"
}
{- "createdAt": "2022-01-01T09:00:00Z",
- "id": "listing-id",
- "propertyId": "property-id",
- "targetId": "target-id"
}
Update a specific listing.
id required | string The ID of the listing. |
preventPublication | boolean Only allowed if targetId references an |
propertyId required | string The ID of the property that should be published. Cannot be changed after creation. |
targetId required | string The ID of the target the listing should appear on. Cannot be changed after creation. |
{- "propertyId": "property-id",
- "targetId": "target-id"
}
{- "createdAt": "2022-01-01T09:00:00Z",
- "id": "listing-id",
- "propertyId": "property-id",
- "targetId": "target-id"
}
Delete a specific listing. This will remove the property from the platform of the target.
id required | string The ID of the listing. |
{- "error": "Not Found",
- "message": "There is no resource with the id [...].",
- "statusCode": 404
}
Return all contacts of your account.
usePagination | boolean Default: false Temporary parameter to enable pagination. Will be removed on January 15th, 2025 as pagination becomes the default. |
limit | integer [ 1 .. 100 ] Default: 10 The maximum number of resources to return. Only available when |
startAfter | string = 20 characters A cursor to use in pagination. |
{- "hasMore": true,
- "data": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "john@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "mobilePhone": "+49 123 456789",
- "phone": "+49 1234 56789",
- "title": "Dr.",
}
]
}
Create a new contact.
email required | string <email> The email of the contact. |
firstName | string <= 30 characters The first name of the contact. |
lastName required | string <= 50 characters The last name of the contact. Must not contain an email address. |
mobilePhone | string^\+[1-9]\d{0,3} +\d{1,10} +[\d][\d ]{0,24}$ The mobile phone number of the contact. Needs to be in the specific pattern +XX X…X X…X. There should be no separators besides spaces. Examples for valid phone numbers are |
phone | string^\+[1-9]\d{0,3} +\d{1,10} +[\d][\d ]{0,24}$ The phone number of the contact. Needs to be in the specific pattern +XX X…X X…X. There should be no separators besides spaces. Examples for valid phone numbers are |
title | string <= 15 characters The title of the contact, usually something like "Dr." or "Prof.". |
website | string <uri> <= 300 characters ^[a-zA-Z0-9\-\_\.\~\!\*\'\(\)\;\:\@\&\=\+\$\,... The website of the contact. Should be encoded and contain no special characters. |
{- "email": "john@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "mobilePhone": "+49 123 456789",
- "phone": "+49 1234 56789",
- "title": "Dr.",
}
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "john@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "mobilePhone": "+49 123 456789",
- "phone": "+49 1234 56789",
- "title": "Dr.",
}
Return a specific contact of your account.
id required | string The id of the contact. |
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "john@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "mobilePhone": "+49 123 456789",
- "phone": "+49 1234 56789",
- "title": "Dr.",
}
Update a specific contact of your account. Listings of properties with this contact will be updated.
id required | string The id of the contact. |
email required | string <email> The email of the contact. |
firstName | string <= 30 characters The first name of the contact. |
lastName required | string <= 50 characters The last name of the contact. Must not contain an email address. |
mobilePhone | string^\+[1-9]\d{0,3} +\d{1,10} +[\d][\d ]{0,24}$ The mobile phone number of the contact. Needs to be in the specific pattern +XX X…X X…X. There should be no separators besides spaces. Examples for valid phone numbers are |
phone | string^\+[1-9]\d{0,3} +\d{1,10} +[\d][\d ]{0,24}$ The phone number of the contact. Needs to be in the specific pattern +XX X…X X…X. There should be no separators besides spaces. Examples for valid phone numbers are |
title | string <= 15 characters The title of the contact, usually something like "Dr." or "Prof.". |
website | string <uri> <= 300 characters ^[a-zA-Z0-9\-\_\.\~\!\*\'\(\)\;\:\@\&\=\+\$\,... The website of the contact. Should be encoded and contain no special characters. |
{- "email": "john@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "mobilePhone": "+49 123 456789",
- "phone": "+49 1234 56789",
- "title": "Dr.",
}
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "email": "john@example.com",
- "firstName": "John",
- "lastName": "Doe",
- "mobilePhone": "+49 123 456789",
- "phone": "+49 1234 56789",
- "title": "Dr.",
}
Delete a specific contact of your account. It will be removed from all properties.
id required | string The id of the contact. |
{- "error": "Not Found",
- "message": "There is no resource with the id [...].",
- "statusCode": 404
}
Return all requests of your account.
usePagination | boolean Default: false Temporary parameter to enable pagination. Will be removed on January 15th, 2025 as pagination becomes the default. |
limit | integer [ 1 .. 100 ] Default: 10 The maximum number of resources to return. Only available when |
startAfter | string = 20 characters A cursor to use in pagination. |
{- "hasMore": true,
- "data": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "message": "string",
- "targetId": "string",
- "propertyId": "string",
- "prospect": {
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string"
}, - "company": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "mobilePhone": "string",
- "phone": "string",
- "salutation": "string"
}, - "propertyProvidedByPlatform": {
- "address": {
- "street": "string",
- "cityDistrict": "string",
- "city": "string",
- "country": "string"
}, - "externalId": "string",
- "publicUrl": "string",
- "title": "string"
}
}
]
}
Return a specific request of your account.
id required | string The ID of the request. |
{- "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "message": "string",
- "targetId": "string",
- "propertyId": "string",
- "prospect": {
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string"
}, - "company": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "mobilePhone": "string",
- "phone": "string",
- "salutation": "string"
}, - "propertyProvidedByPlatform": {
- "address": {
- "street": "string",
- "cityDistrict": "string",
- "city": "string",
- "country": "string"
}, - "externalId": "string",
- "publicUrl": "string",
- "title": "string"
}
}
Return all webhooks of your account.
usePagination | boolean Default: false Temporary parameter to enable pagination. Will be removed on January 15th, 2025 as pagination becomes the default. |
limit | integer [ 1 .. 100 ] Default: 10 The maximum number of resources to return. Only available when |
startAfter | string = 20 characters A cursor to use in pagination. |
{- "hasMore": true,
- "data": [
- {
- "events": [
- "request.created"
], - "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
Create a new webhook on your account.
url required | string <uri> ^[a-zA-Z0-9\-\_\.\~\!\*\'\(\)\;\:\@\&\=\+\$\,... The URL that will be posted to. Needs to use |
events required | Array of strings non-empty unique Items Enum: "request.created" "publication.succeeded" "publication.failed" "property.processing_succeeded" "property.processing_failed" "request.parsing_failed" The names of the events the webhook will be fired for. |
{- "events": [
- "request.created"
]
}
{- "events": [
- "request.created"
], - "createdAt": "2019-08-24T14:15:22Z",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}