Use this group for place-description workflows that collect room transcripts and photos, transform room notes into clean HTML, and export a complete DOCX report. Protected AnswerPal API endpoints use JWT Bearer authentication with the TicketAccess policy and require the SchedulesOfCondition subscription feature. Tokenized photo downloads are the public exception.
GET /api/PlaceDescriptionReports – Bearer JWT (TicketAccess)pageNumber and pageSize, optional sorting through sortBy/sortOrder, and search across address, case number and client names.POST /api/PlaceDescriptionReports – Bearer JWT (TicketAccess)GET /api/PlaceDescriptionReports/{id} – Bearer JWT (TicketAccess)sortOrder and room ID.PUT /api/PlaceDescriptionReports/{id} – Bearer JWT (TicketAccess)DELETE /api/PlaceDescriptionReports/{id} – Bearer JWT (TicketAccess)204 No Content when deleted.GET /api/PlaceDescriptionReports/{id}/export/docx – Bearer JWT (TicketAccess)GET /api/PlaceDescriptionReports?pageNumber=1&pageSize=10&search=Brussels
Authorization: Bearer {token}
200 OK
{
"items": [
{
"placeDescriptionReportID": 123,
"caseNumber": "PD-2026-001",
"clientNames": "Example client",
"address": "Example street 1",
"dateCreatedUtc": "2026-06-05T09:30:00Z"
}
],
"totalCount": 1,
"totalPages": 1
}POST /api/PlaceDescriptionReports
Authorization: Bearer {token}
Content-Type: application/json
{
"clientNames": "Example client",
"caseNumber": "PD-2026-001",
"description": "Move-in condition report",
"landlords": "Example landlord",
"tenants": "Example tenant",
"address": "Example street 1",
"reportDate": "2026-06-05",
"lexiconDocumentID": 45,
"instructionsDocumentID": 46,
"transformTopicID": 12
}clientNamescaseNumberdescriptionlandlords, tenantsaddressreportDatelexiconDocumentID, instructionsDocumentIDtransformTopicIDPlace description Room.heroPhotoAccessTokenplaceDescriptionReportID, customerIDcreatedByCustomerRepID, customerRepIDdateCreatedUtc, dateUpdatedUtcroomssortOrder and room ID.photoPlacementperRoom, per-room, atEnd and at-end. Default is perRoom.includePhotostrue.excludeHeroPhototrue so the hero photo is not duplicated in the room photo sections.GET /api/PlaceDescriptionReports/{id}/export/docx returns application/vnd.openxmlformats-officedocument.wordprocessingml.document. The filename is based on caseNumber when available, otherwise PlaceDescription-{id}.docx.
TicketAccess policy and SchedulesOfCondition feature access.GET /api/PlaceDescriptionPhotos/{accessToken:guid} is Public. Access is controlled by the GUID token in the URL.transcriptRaw. Topic documents with SpecialTopic = All are excluded.transcriptHtml and is used by DOCX export when available.GET /api/PlaceDescriptionReports?pageNumber=1&pageSize=10&search=Brussels
Authorization: Bearer {token}
200 OK
{
"items": [
{
"placeDescriptionReportID": 123,
"caseNumber": "PD-2026-001",
"clientNames": "Example client",
"address": "Example street 1",
"dateCreatedUtc": "2026-06-05T09:30:00Z"
}
],
"totalCount": 1,
"totalPages": 1
} POST /api/PlaceDescriptionReports
Authorization: Bearer {token}
Content-Type: application/json
{
"clientNames": "Example client",
"caseNumber": "PD-2026-001",
"description": "Move-in condition report",
"landlords": "Example landlord",
"tenants": "Example tenant",
"address": "Example street 1",
"reportDate": "2026-06-05",
"lexiconDocumentID": 45,
"instructionsDocumentID": 46,
"transformTopicID": 12
} POST /api/PlaceDescriptionRooms/456/transform
Authorization: Bearer {token}
Content-Type: application/json
{
"topicId": 12,
"includePhotosInPrompt": true,
"overrideModelId": 7,
"force": true
} POST /api/PlaceDescriptionRooms/456/photos
Authorization: Bearer {token}
Content-Type: multipart/form-data
files: kitchen-1.jpg
files: kitchen-2.webpPUT /api/PlaceDescriptionRooms/456/photos/reorder
Authorization: Bearer {token}
Content-Type: application/json
{
"photoIds": [901, 902, 903]
} Room endpoints store raw transcript notes, generated HTML and per-report ordering.
GET /api/PlaceDescriptionReports/{reportId}/rooms – Bearer JWT (TicketAccess)sortOrder, then room ID.POST /api/PlaceDescriptionReports/{reportId}/rooms – Bearer JWT (TicketAccess)sortOrder is omitted, the next sort order is assigned.PUT /api/PlaceDescriptionRooms/{roomId} – Bearer JWT (TicketAccess)DELETE /api/PlaceDescriptionRooms/{roomId} – Bearer JWT (TicketAccess)POST /api/PlaceDescriptionRooms/{roomId}/transform – Bearer JWT (TicketAccess)transcriptRaw and optional room photos into clean semantic HTML using the customer OpenAI configuration, topic documents and report lexicon.POST /api/PlaceDescriptionRooms/456/transform
Authorization: Bearer {token}
Content-Type: application/json
{
"topicId": 12,
"includePhotosInPrompt": true,
"overrideModelId": 7,
"force": true
}namesortOrdertranscriptRawtranscriptHtmltopicIdincludePhotosInPromptoverrideModelIdforceroomIdtranscriptHtmllastTransformedAtUtcmodelIdUsedGET /api/PlaceDescriptionRooms/{roomId}/photos – Bearer JWT (TicketAccess)POST /api/PlaceDescriptionRooms/{roomId}/photos – Bearer JWT (TicketAccess)files. The API accepts JPEG, PNG and WebP images.PUT /api/PlaceDescriptionRooms/{roomId}/photos/reorder – Bearer JWT (TicketAccess)photoIds list.DELETE /api/PlaceDescriptionRoomPhotos/{photoId} – Bearer JWT (TicketAccess)GET /api/PlaceDescriptionPhotos/{accessToken:guid} – Public tokenized downloadapplication/octet-stream.filesimage/jpeg, image/png and image/webp.sortOrder.placeDescriptionRoomPhotoID, placeDescriptionRoomIDfileName, contentTypeaccessToken/api/PlaceDescriptionPhotos/{accessToken:guid}.sortOrder, widthPx, heightPxdateCreatedUtcphotoIdsRelated APIs: Documents manage the lexicon and instructions documents, Topics manage transform prompt documents, and File/Tickets cover the broader support workflow outside place-description reporting.
Only GET /api/PlaceDescriptionPhotos/{accessToken:guid} is anonymous. All report, room, photo-management, transform and export routes require JWT Bearer authentication with TicketAccess.
The endpoint uses topicId from the request when provided, otherwise the report transformTopicID, otherwise the customer topic named Place description Room. The topic must belong to the current customer.
photoPlacement controls whether photos appear per room or at the end. includePhotos defaults to true and excludeHeroPhoto defaults to true.
AnswerPal: AI-powered customer service solutions to elevate your support and communication effortlessly.
For all support, sales, and partnership inquiries, email us at info@answerpal.eu
AnswerPal
Bisschoppenhoflaan 380
2100 Antwerp
Belgium
+32.36416685
BE 0862.692.858