Shace
Shace Partner API

Listings reference images by URL, and the URLs must come from your organization's uploads through this API. A URL from anywhere else is rejected with 400.

Upload once, cache the URLs. Store the returned URLs next to the unit in your system. Later pushes send the same URLs and the listing comes back unchanged; upload again only when a photo actually changed. Shace checks that each URL points into your organization's folder but does not fetch it, so a URL for an upload that no longer exists is accepted and shows as a broken image.

Deletion. An upload is deleted as soon as no listing in your organization references it any more. If a photo moves between units (unit A drops a URL and unit B gains it), push B before A, or upload the photo again for B. A URL shared by several listings stays as long as one of them keeps it.

Order matters. images is the display order in Shace and the first image is the cover. Reordering the array counts as a change and re-indexes the listing.

Floor plans are optional and do not count towards the three-image minimum. Blur placeholders from the upload response are optional to pass along on the listing; leave them out if your system has nowhere to keep them.

Remote URLs. Accepting your own CDN URLs and fetching them on our side is planned. Until then, the upload endpoints are the way in.


Upload listing images

POST
https://api-preview.shace.se/partner/v1
/uploads/images
Bearer

Multipart form with one or more files fields. Each image is converted to webp, resized to at most 2048 px and given a blur placeholder, exactly like uploads from the app. Reference the returned URLs from images on a listing. At most 8 files per request, each at most 15 MB. JPEG, PNG, WebP and HEIC are supported; a file that cannot be decoded as an image is rejected with 400 BAD_REQUEST.

Upload listing images Request Body

files
string[] · minItems: 1 · maxItems: 8 · required

One multipart field per image, all named files. Order is preserved in the response. At most 15 MB each.

Upload listing images Responses

OK

urls
string[] · required

Public URLs, in upload order. Use these in images.

object · required

Tiny base64 webp per URL. Pass along as blurPlaceholders on the listing if you want instant previews in the app; optional.


Upload a floor plan

POST
https://api-preview.shace.se/partner/v1
/uploads/floor-plan
Bearer

Multipart form with a single file field: PNG, JPEG, WebP or PDF, at most 15 MB. Reference the returned URL from floorPlanUrl on a listing.

Upload a floor plan Request Body

file
string · binary · required

PNG, JPEG, WebP or PDF, at most 15 MB.

Upload a floor plan Responses

OK

url
string · uri · required

Public URL. Use it as floorPlanUrl.