REST API, MCP-server, webhooks og AI-agent. Lag egne integrasjoner, koble AI-agentene dine til boligene, eller bygg ovenpå plattformen.
curl https://api.gjestfri.com/v1/properties \
-H "Authorization: Bearer gf_live_..."Alle endepunkter under /v1/* er Bearer-autentisert. Auth-mekanismen sjekker prefikset:
gf_live_… / gf_test_… → API-key (rate-limited per nøkkel, scope-håndhevet)properties:read properties:write
bookings:read bookings:write
messages:read messages:write
pricing:read pricing:write
availability:read availability:write
cleaning:read cleaning:write
analytics:read
webhooks:manage
agent:chat:write impliserer :read automatisk.
60 requests/minutt per nøkkel som standard. Headere returneres på alle responser:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 47
Retry-After: 23 (kun ved 429)GET /v1/propertiesGET /v1/properties/:idPATCH /v1/properties/:idGET /v1/properties/:id/calendar?from&toGET /v1/bookings?propertyId&status&from&to&limitGET /v1/bookings/:idPOST /v1/bookings — manuell direkte-bookingPATCH /v1/bookings/:idGET /v1/messages/unreadGET /v1/messages/by-booking/:idPOST /v1/messages/by-booking/:id — send til gjestGET /v1/pricing/recommendations?propertyId&from&toPOST /v1/pricing/overridesDELETE /v1/pricing/overridesGET/PUT /v1/pricing/configPOST /v1/availability/blockPOST /v1/availability/unblockGET /v1/cleaning-tasks?statusPATCH /v1/cleaning-tasks/:idGET /v1/analytics/occupancy?from&to&propertyIdGET /v1/analytics/revenue?from&to&propertyIdGET/POST/DELETE /v1/webhooksGET/POST/DELETE /v1/api-keyscurl 'https://api.gjestfri.com/v1/bookings?from=2026-06-01&limit=20' \
-H "Authorization: Bearer gf_live_..."
# →
# {
# "data": [
# {
# "id": 408,
# "propertyId": 12,
# "status": "confirmed",
# "guest": { "name": "Anna M.", "country": "NO" },
# "checkin": "2026-06-15",
# "checkout": "2026-06-18",
# "pricing": { "totalPrice": "4200", ... }
# }
# ]
# }Agenten har full tilgang til vertens data og 60+ tools (CRUD på boliger, bookinger, vask, priser, hurtigsvar, kanaler, ...). Snakk naturlig — agenten velger riktig tool selv.
POST /v1/agent/chat — send meldingPOST /v1/agent/confirm/:actionLogId — bekreft pending handlingGET /v1/agent/conversationsGET /v1/agent/conversations/:id/messagesGET/PATCH /v1/agent/settingscurl https://api.gjestfri.com/v1/agent/chat \
-H "Authorization: Bearer gf_live_..." \
-H "Content-Type: application/json" \
-d '{
"message": "Hva trenger oppmerksomhet i dag?",
"channel": "ios"
}'
# →
# {
# "conversationId": 42,
# "reply": "3 ting: Anna sjekker inn kl 16 — velkomst ikke sendt. ...",
# "toolCalls": [
# { "name": "list_unread_messages", "result": { ... } }
# ]
# }Koble Claude Desktop, Cursor eller en annen MCP-kompatibel agent direkte til Gjestfri. Agenten får tilgang til alle dine boliger, bookinger og 60+ verktøy.
Legg dette i ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gjestfri": {
"command": "npx",
"args": ["-y", "@gjestfri/mcp-server"],
"env": {
"GJESTFRI_API_KEY": "gf_live_..."
}
}
}
}Samme oppsett. Cursor har MCP-config under Settings → MCP. Pek til npx @gjestfri/mcp-server med samme env-variabel.
properties_list / get / update / calendarboligerbookings_list / get / create / updatebookingermessages_unread / for_booking / sendmeldingersuggest_repliesAI-foreslåtte svarcreate_quick_reply / list / updatehurtigsvarcreate_recurring_scheduleauto-meldingerset_price_override / remove_overrideprisingrecompute_pricing / explain_pricepricing engineblock_dates / unblock_datestilgjengelighetupdate_cleaning_task / completevaskanalytics_occupancy / revenueanalyticsupdate_property / archive_propertybolig-CRUDrespond_to_guest_with_suggestionagent-handoversync_smoobu / get_stripe_statusintegrasjonerTotalt 60+ tools. Komplett katalog vises i klienten din når MCP er koblet til.
gjestfri://properties
gjestfri://properties/{id}
gjestfri://properties/{id}/calendar
gjestfri://bookings/{id}
gjestfri://bookings/{id}/messages
gjestfri://messages/unreadFå push-notifikasjoner når noe skjer. HMAC-SHA256 signert payload. Maks 3 retries med eksponentiell backoff.
curl https://api.gjestfri.com/v1/webhooks \
-H "Authorization: Bearer gf_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://din-server.no/webhook",
"events": ["booking.created", "message.received"]
}'
# Response inneholder secret kun ved opprettelse:
# { "id": 12, "secret": "whsec_...", "events": [...] }booking.created, booking.updated, booking.cancelledmessage.received, message.sentcleaning.scheduled, cleaning.completedpricing.recommendation_changedagent.action_pending_confirmation// Header: X-Gjestfri-Signature: t=1234567890,v1=abc123...
const expected = crypto
.createHmac("sha256", secret)
.update(`${timestamp}.${rawBody}`)
.digest("hex");Agenten kan snakkes med via iMessage/RCS/SMS, Telegram eller WhatsApp. Endepunkter for å koble og administrere kanaler:
GET /v1/host-channelsPOST /v1/host-channels — body: {channel, phoneNumber?}DELETE /v1/host-channels/:idPOST returnerer en deeplink (Telegram/WhatsApp) eller sender en iMessage med en 6-tegns kode. Vert verifiserer ved å åpne deeplinken eller svare med koden.
En separat MCP-server for AI-agenter som booker på vegne av reisende. Ingen API-key nødvendig for søk — auth via per-booking access-code etter betaling.
{
"mcpServers": {
"gjestfri-guest": {
"command": "npx",
"args": ["-y", "@gjestfri/mcp-guest"]
}
}
}Tools: search_properties, get_property_details, check_availability, start_booking, get_my_booking, send_message_to_host.