Listing Creation

Create a listing

Starts the generation of a listing from a property and a template.
Processing runs asynchronously; the response initially carries
status: "in_progress".

post

Body

application/json

CreateListingRequest

property_idstringrequired

Property the listing is generated from.

Example:prop_8f2c1a

template_idstringrequired

Design template of the agency.

Example:tpl_classic

languagestring

Language of the generated document. Useful when marketing to international buyers.

Allowed values:enesfrde

Default:en

sectionsarray[string]

Content block of the listing.

Allowed values:locationfeaturesenergyfloor_plancommissionneighborhoodhistory

internal_notestring

Internal remark; does not appear in the document.

<= 500 characters

Example:Owner prefers viewings starting September 1st.

Response

application/json

Generation accepted

Listing

idstring

Example:lst_4d9b2e

property_idstring

Example:prop_8f2c1a

template_idstring

Example:tpl_classic

languagestring

Example:en

statusstring

Lifecycle of a listing.

Allowed values:in_progresscompletedpublishedwithdrawnfailed

Example:completed

pdf_urlstring(uri)

Only set once status: completed. The link is valid for 24 hours.

Example:https://api.realestateagency.example/v1/listings/lst_4d9b2e/pdf

pagesinteger

Page count of the generated document.

Example:6

disclosuresobject

Result of the mandatory-disclosure check.

Show Child Parameters
created_atstring(date-time)

Example:2026-08-20T09:41:12Z

completed_atstring | null(date-time)

Example:2026-08-20T09:41:20Z

post/listings

Body

{ "property_id": "prop_8f2c1a", "template_id": "tpl_classic", "language": "en", "sections": [ "location", "features", "energy", "floor_plan", "commission" ] }
 
application/json

Retrieve a listing

Returns status, metadata and the mandatory-disclosure report.

get

Path Parameters

listingIdstringrequired

Identifier of the listing.

Example:lst_4d9b2e

Response

application/json

Listing

Listing

idstring

Example:lst_4d9b2e

property_idstring

Example:prop_8f2c1a

template_idstring

Example:tpl_classic

languagestring

Example:en

statusstring

Lifecycle of a listing.

Allowed values:in_progresscompletedpublishedwithdrawnfailed

Example:completed

pdf_urlstring(uri)

Only set once status: completed. The link is valid for 24 hours.

Example:https://api.realestateagency.example/v1/listings/lst_4d9b2e/pdf

pagesinteger

Page count of the generated document.

Example:6

disclosuresobject

Result of the mandatory-disclosure check.

Show Child Parameters
created_atstring(date-time)

Example:2026-08-20T09:41:12Z

completed_atstring | null(date-time)

Example:2026-08-20T09:41:20Z

get/listings/{listingId}
 
application/json

Withdraw a listing

Takes a listing off every channel and marks it withdrawn.
The document remains available for record-keeping purposes.

delete

Path Parameters

listingIdstringrequired

Identifier of the listing.

Example:lst_4d9b2e

Response

Withdrawn

delete/listings/{listingId}
 

Download listing as PDF

Returns the generated document. Only available once status is
completed - before that the API responds with 409.

get

Path Parameters

listingIdstringrequired

Identifier of the listing.

Example:lst_4d9b2e

Response

application/pdf

PDF document

string
get/listings/{listingId}/pdf
 
application/pdf

Publish a listing

Puts the listing live on the chosen channels. Mandatory disclosures
are checked first.

post

Path Parameters

listingIdstringrequired

Identifier of the listing.

Example:lst_4d9b2e

Body

application/json
channelsarray[string]required

Publication channel.

Allowed values:portalwebsitenewslettershop_window

>= 1 items

scheduled_forstring(date-time)

Optional time for a later, scheduled publication.

Response

application/json

Published, or scheduled

Publication

listing_idstring

Example:lst_4d9b2e

statusstring

Lifecycle of a listing.

Allowed values:in_progresscompletedpublishedwithdrawnfailed

Example:completed

channelsarray[object]
Show Child Parameters
published_atstring(date-time)

Example:2026-08-20T09:44:03Z

post/listings/{listingId}/publish

Body

{ "channels": [ "portal", "website", "newsletter" ] }
 
application/json