Listing landing page
POST /site/create - scope tools:sitegen, immediate. A landing page with a shareable link for a listing - yours or any public one.
| Field | Type | Description |
|---|---|---|
objectId | string | required: listing id |
siteName | string | link name in your list |
language | string | ENG (default), RUS, UKR, DEU, SPA, AZE, ARB, FRA, ZHO, TUR |
coverPhotoId | string | listing photo to show first |
brandColor | string | accent colour #RRGGBB |
showPhone | yes/no | show your phone on the page (default no) |
curl -X POST https://developers.grem.capital/api/v1/site/create \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"objectId":"OBJECT_ID","siteName":"Torstraße 12","language":"ENG"}'
Response:
| Field | Description |
|---|---|
landingId | site id |
baseUrl | site address |
link | the created link: name, language, code and address |
No objectId - 400; an inaccessible listing - 403 or 404.
PDF presentation
POST /pdf/create - scope tools:pdf, job. A branded PDF for a listing - yours or any public one.
| Field | Type | Description |
|---|---|---|
pdfName | string | required: document name, up to 200 characters |
objectId | string | required: listing id |
language | string | ENG (default), RUS, UKR, DEU, SPA, AZE, ARB, FRA, ZHO, TUR |
descriptionType | string | presentation (default), description or social |
currency | string | UAH, USD, EUR, AZN, GBP, AED, CNY, TRY, GEL |
priceForPdf | number | a different price for the document |
coverPhotoId | string | cover photo |
descriptionOverride | string | your own text for this document only, up to 3000 characters |
brandColor | string | accent colour #RRGGBB |
curl -X POST https://developers.grem.capital/api/v1/pdf/create \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"pdfName":"Torstraße 12 - presentation","objectId":"OBJECT_ID","language":"ENG"}'
The language must be upper case from this list: ru or en return 400.
202 with jobId. The finished job (GET /pdf/create/jobs/{id}):
| Field | Description |
|---|---|
link | the document's direct address |
pageCount | pages |
sizeBytes | size |
coverImageUrl | cover |
The file is also available at GET /artifacts/v1/ai/pdf-generator/files/{id}/download. Events - pdf.completed / pdf.failed.
Personal flyer
POST /flyer/create - scope tools:flyer, immediate. A broker flyer (A4, square or story) with your photo, platform figures and a QR code to your referral link. The flyer itself is free; only the API call is charged.
| Field | Type | Description |
|---|---|---|
language | string | ENG (default) and the other codes as for the landing page; case does not matter |
layouts | array | a4 (print), feed45, square, story, link; default ["a4"]; at least one; case does not matter |
formats | array | png, jpg, pdf; default ["png","pdf"]. PDF is produced for a4 only; one to three; case does not matter |
name, role, city, kicker | string | name, role, city, subtitle |
photoRef | string | avatar - your profile photo, or an image as data:image/... |
ctaUrl | string | referral link for the QR (platform domains only) |
slogan | array | up to 2 lines |
features | array | up to 6 items { "icon", "title" }; icon - crm, ai, globe, publisher, marketing, shield, wallet, chart, lock or handshake |
joinTitle, joinNote | string | call to join |
builtFor | array | who it is for, up to 6 lines |
footer | array | up to 2 lines |
contacts | object | contacts: phone, e-mail and so on |
Unknown fields are dropped.
curl -X POST https://developers.grem.capital/api/v1/flyer/create \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"language":"ENG","layouts":["a4"],"formats":["pdf"],"name":"Anna Schmidt","role":"Real estate agent","city":"Berlin","photoRef":"avatar"}'
Response:
| Field | Description |
|---|---|
files | generated files |
files[].layout, files[].format | layout and file type |
files[].width, files[].height, files[].bytes | size |
files[].path | download path: https://developers.grem.capital/api/v1/artifacts + path |
ctaUrl | the link printed in the QR |
historyId | flyer history record |
Draft from documents or a website
POST /draft/extract - scope tools:draft, immediate. GREM reads brochures, price lists or a developer's website and creates a listing draft with fields and photos. Limit: 2 drafts a day per account; the next one is refused with 403 until the next day. Only the API call is charged, there is no tool price.
Body - multipart/form-data:
| Part | Description |
|---|---|
data | JSON string: {"type": "property"} or {"type": "complex"}, optionally with "site": "https://..." - required |
| files | documents (PDF, DOC/DOCX, images) under any part names |
Send either files or site in data, otherwise 400 with the files field.
curl -X POST https://developers.grem.capital/api/v1/draft/extract \
-H "Authorization: Bearer gsk_live_xxx" \
-F 'data={"type":"complex"}' \
-F "[email protected]" -F "[email protected]"
The response is the created draft (not published). Review and complete it with GET /objects/{kind}/{id} and PUT /objects/{kind}/{id} (Listings).