Verbinden Sie Ihre Plattform mit ElefyMove: Inserate veröffentlichen, Verfügbarkeiten in Echtzeit synchronisieren und dasselbe Datum nie wieder doppelt buchen.
Eine einzige Integrationsschnittstelle für Inserate, Verfügbarkeit und Echtzeit-Synchronisation.
Übertragen Sie mehrsprachige Immobilieninserate an ElefyMove. Inhalte können in jeder Teilmenge unserer 9 unterstützten Sprachen eingereicht werden; jedes Inserat wird vor der Veröffentlichung geprüft.
Der Master-Kalender von ElefyMove ist die einzige verbindliche Datenquelle für alles Buchbare auf der Plattform. Jeder Zeitraum trägt einen Status — verfügbar, temporär reserviert, gebucht oder gesperrt —, und Pufferzeiten für die Reinigung werden zentral durchgesetzt, sodass keine Doppelbuchung über verschiedene Kanäle hinweg entstehen kann.
Legen Sie eine kurzfristige Reservierung von bis zu 10 Minuten an, während der Gast den Bezahlvorgang auf Ihrer Seite abschließt. Konflikte werden nach dem Prinzip „wer zuerst kommt, mahlt zuerst“ gelöst; die unterlegene Anfrage erhält eine maschinenlesbare 409-Antwort.
Abonnieren Sie mit HMAC-SHA256 signierte Ereignisse — Inserat-Freigaben, Verfügbarkeitsänderungen, den Lebenszyklus von Reservierungen und Buchungsstatus — nahezu in Echtzeit. Die Payloads enthalten ausschließlich Daten und Referenzen, niemals personenbezogene Gästedaten.
Jedes Inserat exportiert einen signierten iCal-Feed, und ElefyMove kann umgekehrt auch Ihren eigenen Feed abrufen — externe Sperrungen bleiben so auf beiden Seiten konsistent, ganz ohne zusätzlichen Integrationscode.
Regel null: Jede Operation ist auf Ihre eigenen Daten beschränkt. Es gibt keinen partnerübergreifenden Zugriff, in keine Richtung.
Erstellen Sie ein Entwicklerkonto, bestätigen Sie Ihre E-Mail-Adresse und stellen Sie Ihre eigenen Test-API-Schlüssel direkt im Dashboard aus. Live-Schlüssel erstellt der Vermieter im ElefyMove-Backoffice.
API-Schlüssel erstellenMit der Kontoerstellung stimmen Sie den API-Nutzungsbedingungen zu.
listings:readlistings:writeavailability:readavailability:writeholds:writewebhooks:managecommunity:readcommunity:writemarketplace:readmarketplace:writeStandard-Ratenlimit: 120 Anfragen pro Minute je Schlüssel.
Jede Anfrage wird über einen X-Api-Key-Header mit Ihrem ausgestellten Schlüssel authentifiziert.
curl "https://elefymove.com/api/public/v1/listings/{listingId}/availability?from=2026-09-01&to=2026-09-30" \
-H "X-Api-Key: efy_live_xxxxxxxxxxxxxxxxxxxxxxxx"
# Response — 200 OK
[
{ "from": "2026-09-01", "to": "2026-09-14", "state": "AVAILABLE" },
{ "from": "2026-09-15", "to": "2026-09-20", "state": "BLOCKED", "source": "partner-site", "externalRef": "HMXYZ123" },
{ "from": "2026-09-21", "to": "2026-09-30", "state": "AVAILABLE" }
]curl -X POST "https://elefymove.com/api/public/v1/listings/{listingId}/holds" \
-H "X-Api-Key: efy_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"from": "2026-09-15", "to": "2026-09-20", "ttlSeconds": 300}'
# Response — 201 Created
{ "holdId": "hld_9f3a2c1b", "expiresAt": "2026-08-13T10:15:00Z" }# Same request, the dates were just taken by another channel
# Response — 409 Conflict
{
"code": "SLOT_TAKEN",
"conflictingState": "HELD",
"wonBy": "external"
}Alle Request- und Response-Schemas, Fehlerformate und Beispiele stehen in der interaktiven OpenAPI-Referenz — jeden Endpunkt live mit dem eigenen Key ausprobieren.
API-Dokumentation öffnenZur vollständigen DokumentationDie vollständige Open API v1. Jede Anfrage trägt Ihren Key im Header X-Api-Key, und jede Route greift ausschließlich auf Ihre eigenen Daten zu.
Basis-URL https://elefymove.com
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
/api/public/v1/listings | listings:write | Ein neues Inserat zur Prüfung einreichen — mit Inhalten in beliebigen der 9 unterstützten Sprachen. | |
| GET | /api/public/v1/listings | listings:read | Alle Inserate dieses Keys mit ihrem aktuellen Prüfstatus auflisten. |
| GET | /api/public/v1/listings/{externalId} | listings:read | Ein eigenes Inserat über die von Ihnen vergebene externe ID abrufen. |
| PATCH | /api/public/v1/listings/{externalId} | listings:write | Ein eigenes Inserat aktualisieren; ausgelassene Felder bleiben unverändert. |
| DELETE | /api/public/v1/listings/{externalId} | listings:write | Ein eigenes Inserat offline nehmen. |
/api/public/v1/listings/{externalId}/photos | listings:write | Ein Foto zu einem Inserat hinzufügen, ohne eine vollständige Aktualisierung. Das Bild wird von ElefyMove abgerufen und neu gehostet — Ihre URL wird nie direkt gespeichert. | |
| DELETE | /api/public/v1/listings/{externalId}/photos/{photoId} | listings:write | Ein Foto von einem Inserat entfernen. Wird mit einem 400 abgelehnt, wenn dadurch ein veröffentlichtes Inserat unter die Mindestanzahl an Fotos fallen würde. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| GET | /api/public/v1/locations | Jeder gültige Key | Die kanonische Standort-Baumstruktur Provinz → Bezirk → Gebiet abrufen. |
| GET | /api/public/v1/locations/search | Jeder gültige Key | Typeahead-Suche über die kanonische Standort-Hierarchie. |
| GET | /api/public/v1/reference/property-types | Jeder gültige Key | Die genaue Menge an Immobilientyp-Werten, die ein Inserat akzeptiert. |
| GET | /api/public/v1/reference/amenities | Jeder gültige Key | Die Längen- und Anzahlgrenzen, die Ausstattungsmerkmale einhalten müssen — Ausstattungsmerkmale sind Freitext, kein fester Katalog. |
| GET | /api/public/v1/reference/locales | Jeder gültige Key | Die genaue Menge an Sprachcodes, die die Übersetzungen eines Inserats akzeptieren. |
| GET | /api/public/v1/reference/currencies | Jeder gültige Key | Die Währung, in der der Preis eines Inserats angegeben ist. ElefyMove ist ausschließlich in Thailand tätig, daher immer THB. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| GET | /api/public/v1/listings/{id}/availability | availability:read | Den zusammengeführten Kalender eines Inserats für einen Zeitraum abrufen — frei, reserviert, gebucht oder gesperrt. |
| GET | /api/public/v1/availability | availability:read | Verfügbarkeit für bis zu 50 Inserate in einem einzigen Aufruf abrufen. Eine ID, die Ihnen nicht gehört oder nicht existiert, wird in notFound aufgeführt, statt die gesamte Anfrage fehlschlagen zu lassen. |
| GET | /api/public/v1/listings/{id}/blocks | availability:read | Ihre eigenen aktiven externen Kanalsperren für ein Inserat abrufen, optional eingegrenzt auf einen Zeitraum. |
/api/public/v1/listings/{id}/blocks | availability:write | Eine Sperre aus einem externen Kanal anlegen oder aktualisieren, identifiziert über Ihre eigene Referenz. | |
/api/public/v1/listings/{id}/blocks/batch | availability:write | Bis zu 100 externe Kanalsperren für ein Inserat in einem einzigen Aufruf anlegen oder aktualisieren, mit einem Erfolgs-/Fehlerergebnis pro Eintrag. | |
| DELETE | /api/public/v1/listings/{id}/blocks/batch | availability:write | Bis zu 100 externe Kanalsperren für ein Inserat in einem einzigen Aufruf entfernen, mit einem Erfolgs-/Fehlerergebnis pro Eintrag. |
| DELETE | /api/public/v1/listings/{id}/blocks/{externalRef} | availability:write | Eine zuvor geschriebene Sperre aus einem externen Kanal entfernen. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| GET | /api/public/v1/holds | holds:write | Ihre eigenen Reservierungen auflisten, neueste zuerst. Standardmäßig werden nur aktive angezeigt; mit ?status=all erweitern. |
| GET | /api/public/v1/holds/{id} | holds:write | Eine eigene Reservierung anhand der ID abrufen. |
/api/public/v1/listings/{id}/holds | holds:write | Einen Zeitraum reservieren, während der Gast bei Ihnen bezahlt. Die unterlegene Anfrage erhält einen 409 mit SLOT_TAKEN. | |
/api/public/v1/holds/{id}/extend | holds:write | Den Ablauf einer Reservierung ab jetzt hinausschieben. Die Gesamtlaufzeit einer Reservierung ist ab ihrer Erstellung auf 30 Minuten begrenzt — eine Verlängerung, die dieses Limit überschreiten würde, wird mit einem 409 abgelehnt. | |
| DELETE | /api/public/v1/holds/{id} | holds:write | Eine eigene Reservierung vor Ablauf freigeben. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| GET | /api/public/v1/listings/{id}/calendar.ics | Signierte URL, kein Key | Den Kalender eines Inserats als iCal-Feed abrufen. Das signierte Token in der URL ist die Authentifizierung, sodass Kalender-Apps direkt abonnieren können. |
| PUT | /api/public/v1/listings/{id}/ical-sources | availability:write | Den eingehenden iCal-Feed registrieren oder ersetzen, den ElefyMove für eines Ihrer Inserate abruft. |
| GET | /api/public/v1/listings/{id}/ical-sources | availability:read | Den registrierten Feed eines Inserats samt Abrufstatus und letztem Fehler abrufen. |
| DELETE | /api/public/v1/listings/{id}/ical-sources | availability:write | Den Abruf beenden und den registrierten Feed eines Inserats löschen. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| PUT | /api/public/v1/webhooks | webhooks:manage | Die URL Ihres Webhook-Endpunkts festlegen und optional die Liste der abonnierten Ereignisse ersetzen. |
| GET | /api/public/v1/webhooks | webhooks:manage | Ihre aktuelle Webhook-Konfiguration abrufen. Gibt niemals das Signatur-Secret zurück. |
| DELETE | /api/public/v1/webhooks | webhooks:manage | Ihre Webhook-URL löschen und Zustellungen stoppen. |
/api/public/v1/webhooks/test | webhooks:manage | Ein signiertes Test-Event an Ihren konfigurierten Endpunkt senden, unabhängig von Ihrem Abonnement. | |
| GET | /api/public/v1/webhook-deliveries | webhooks:manage | Ihre eigenen Webhook-Zustellversuche mit Status, Zeitstempel und Wiederholungsverlauf auflisten. |
/api/public/v1/webhook-deliveries/{id}/redeliver | webhooks:manage | Eine fehlgeschlagene oder als unzustellbar markierte Zustellung manuell erneut versuchen. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
/api/public/v1/community/posts | community:write | Einen Community-Beitrag einreichen. Jeder von einem Partner erstellte Beitrag durchläuft die Moderation und wird nicht sofort veröffentlicht. | |
| GET | /api/public/v1/community/posts | community:read | Ihre eigenen Community-Beiträge und deren Moderationsstatus auflisten. |
| GET | /api/public/v1/community/posts/{externalId} | community:read | Einen eigenen Community-Beitrag über die von Ihnen vergebene externe ID abrufen. |
| PATCH | /api/public/v1/community/posts/{externalId} | community:write | Einen eigenen Community-Beitrag aktualisieren; ausgelassene Felder bleiben unverändert. |
| DELETE | /api/public/v1/community/posts/{externalId} | community:write | Einen eigenen Community-Beitrag depublizieren. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| GET | /api/public/v1/marketplace/bookings | marketplace:read | Ihre eigenen Marketplace-Buchungen paginiert und gefiltert auflisten. Antworten enthalten ausschließlich Datum und Referenz. |
| GET | /api/public/v1/marketplace/bookings/{id} | marketplace:read | Eine eigene Marketplace-Buchung anhand der ID abrufen. |
/api/public/v1/marketplace/bookings/{id}/decline | marketplace:write | Eine Buchung ablehnen, die noch auf die Zahlung wartet. Es gibt keine Bestätigungsroute — eine Buchung wird bestätigt, sobald die Zahlung erfasst wird, nie durch eine Genehmigung des Anbieters. |
| Methode | Endpunkt | Scope | Funktion |
|---|---|---|---|
| GET | /api/public/v1/ping | Jeder gültige Key | Prüfen, ob der Key funktioniert, und Clientname sowie zugeordnete Scopes auslesen. |
| GET | /api/public/v1/me | Jeder gültige Key | Die Identität Ihres eigenen API-Clients abrufen — Name, Umgebung und die dem Key zugeordneten Scopes. |
Offene API v1 — derzeit läuft die Aufnahme von Integrationspartnern.