Saltar para o conteúdo principal

API reference

The VIVIN API lets booking platforms and calendar tools read VIVIN listings and send bookings into a landlord's account, and lets landlords automate their own account.

Which API you need​

You are…You useStart with
A booking platform or marketplace partnerThe partner API, with a partner token issued by VIVINAuthentication
A calendar tool (Airbnb, Booking.com or any iCal client)A per-unit iCal feed. It needs no tokeniCal feeds
A landlord automating your own accountA management session: your VIVIN sign-in and an emailed codeManagement session
A landlord connecting Claude or ChatGPTOAuth for MCP connectorsMCP OAuth

Base URL and Swagger​

All routes live on https://api.vivin.app, over HTTPS only. Each partner integration has its own route prefix and its own live Swagger page:

  • Swagger UI: https://api.vivin.app/<prefix>
  • OpenAPI file: https://api.vivin.app/<prefix>-json (or -yaml)

Swagger shows the full booking model as the response of POST …/bookings. The real response only confirms that the request was queued: see Creating bookings.

Route prefixes​

Every partner path starts with the prefix, for example GET /uniplaces-integration/listings.

Route prefixPartnerRoutes
uniplaces-integrationUniplacesPartial and full feeds, bookings, inbound webhook
housinganywhere-integrationHousing AnywherePartial feed (with costs), full feed, bookings, inbound webhook
spotahome-integrationSpotahomePartial and full feeds, the older /listings/feed, bookings
inlife-integrationInlifePartial and full feeds, bookings
roomless-integrationSpacest (formerly RoomLess)Partial feed, bookings
erasmus-life-integrationErasmus Life LisboaPartial feed, bookings
vivin-booking-engine-integrationVivin Booking EnginePartial feed, bookings, listing updates, property creation, housemates
<landlord>-integrationSingle-landlord feeds: one prefix per landlord, from VIVINPartial feed of one landlord's units, bookings
ical-integrationAny calendar toolOne .ics calendar per unit

Conventions​

TopicRule
FormatJSON bodies with Content-Type: application/json. Fields are camelCase, except where a partner's own format is snake_case
DatesCalendar dates as YYYY-MM-DD. Timestamps (createdAt, updatedAt) are ISO 8601 in UTC
AmountsThe landlord account's currency, as plain numbers. The Housing Anywhere full feed and both webhooks use cents
IDsexternalId is your platform's ID for a unit (Property and unit mapping). VIVIN IDs are UUIDs
ErrorsOne JSON body for every error (Error handling)
VersioningPartner routes are not versioned. New response fields can appear at any time: ignore fields you do not know
Rate limitsPartner and iCal routes are not rate-limited. Lists are rebuilt about every 10 minutes, so polling faster gains nothing
PushVIVIN sends no outbound webhooks to partners, except listing updates to the Vivin Booking Engine. Poll the feeds to see changes (Webhooks and notifications)

Getting access​

  1. The landlord fills in the Integration Email on your platform's card under Settings → Integrations → Booking Platforms. VIVIN sets up single-landlord feeds directly.
  2. The landlord links each unit by adding its listing URL on your platform in the unit's Channels section. VIVIN reads your listing ID from that URL: it becomes the externalId.
  3. VIVIN issues your partner token and confirms your route prefix. Ask through Get help and support.

Reference guides​

New partners usually read them in this order:

  1. Authentication: partner tokens, the other headers, every 401
  2. Error handling: the error body, status codes, retries
  3. Property and unit mapping: how your listing IDs map to VIVIN units
  4. Listings and availability: the partial feed, field by field
  5. Full listing feeds: catalogue feeds for Uniplaces, Spotahome, Housing Anywhere and Inlife
  6. iCal feeds: per-unit calendar export
  7. Creating bookings: POST …/bookings body, response and errors
  8. Booking lifecycle and validations: what happens after the 201
  9. Webhooks and notifications: inbound Uniplaces and Housing Anywhere webhooks
  10. Booking Engine API: Vivin Booking Engine write routes