thesqua.re

Listing Service

Test Panel Swagger docs
No requests yet

Property Categories

GET /api/v1/listing/property/categories

Public endpoint — no auth required. Static dropdown data for the create-property form.

Listing Options

GET /api/v1/listing/options

Currencies, property categories/types, booking types, network types, apartment types — for populating the Overview form below.

Get Overview

GET /api/v1/listing/overview/{property_id}

Uses the Property ID field in the header.

Create / Update Overview

POST/PUT /api/v1/listing/overview[/{property_id}]

Edit the JSON body then choose Create (ignores Property ID, makes a new property) or Update (uses Property ID from the header). See generalDetails.PropertyTitle / propertyCategory — both required.

Get Location

GET /api/v1/listing/location/{property_id}

Update Location

POST/PUT /api/v1/listing/location/{property_id}

city, address, postcode, latitude, longitude are required. primary_suburb is required when city is london.

Location Options

GET /api/v1/listing/location-options

Suburb Lookups

GET /cities/{city_id}/suburbs · /country · /suburbs/child-suburbs

Policy Options

GET /api/v1/listing/cancellation-policy/options

Get Policy

GET /api/v1/listing/cancellation-policy/{property_id}

Update Policy

POST/PUT /api/v1/listing/cancellation-policy/{property_id}

Step 7 — EPC Selection

GET /api/v1/listing/ecograde-step7/{property_id}

Only available for buildings with a postcode set. Returns available_epcs (lmk_key per certificate) fetched from the government EPC API.

Step 7 — Assign EPCs

POST/PUT /api/v1/listing/ecograde-step7/{property_id}

apartments_epc_mapping: dict of apartment ID (string) → list of EPC lmk_key strings.

Step 8 — Green Supplier

GET /api/v1/listing/ecograde-step8/{property_id}

Requires Step 7 completed first (apartments must already have EPCs assigned).

Step 8 — Mark Green Supplier

POST/PUT /api/v1/listing/ecograde-step8/{property_id}

green_supplier_mapping: dict of EPC lmk_key (string) → boolean.

Description Options

GET /api/v1/listing/description/options

Get Description

GET /api/v1/listing/description/{property_id}

Update Description

POST/PUT /api/v1/listing/description/{property_id}

Values for checkin_process/checkout_process/transp_unit come from the Options card above. Any transp_* field set to "Other" requires its matching transp_*_other field (min 3 chars).

Amenities Options

GET /api/v1/listing/amenities/options

Returns valid amenity ID strings (for the amenities list below) plus dropdown-amenity definitions.

Get Amenities

GET /api/v1/listing/amenities/{property_id}

Update Amenities

POST/PUT /api/v1/listing/amenities/{property_id}

amenities is a flat list of amenity ID strings (not a dict). fees.currency is required.

Get Photos

GET /api/v1/listing/photos/{property_id}

Update Photos Metadata

POST/PUT /api/v1/listing/photos/{property_id}

Requires at least 7 uploaded images and a main image selected before it will save.

Upload Image(s)

POST /api/v1/listing/photos/{property_id}/upload

Accepts one or more files in a single request (repeated file parts). Select multiple files below — this exercises the multi-file upload directly, bypassing Swagger UI's single-file-only "Try it out" limitation.

Upload Video

POST /api/v1/listing/photos/{property_id}/upload-video

Single video file. Returned video_file_key feeds into the "Update Photos Metadata" card above.

Delete Image

DELETE /api/v1/listing/photos/{property_id}/image/{image_id}