Villa Tracker Partner API

API playground

Run the whole partner integration from your browser with your sandbox credentials: pull the villas shared with you, quote a stay, book it with our hosted payment or as an instant booking, cancel it and check your error handling. Every step shows the exact request, the real response and a Copy as curl to take into your own code.

1

Connect

Enter the sandbox partnerId and bearer token we sent you. Every request goes to https://api.villatracker.com with Authorization: Bearer <token>.

Use your sandbox credentials. Never paste a production key into a browser — in production the token lives on your server only. This page keeps what you enter in this tab's session storage (cleared when you close the tab) and sends it to api.villatracker.com and nowhere else.

Connecting makes one small call (limit=1) to check the credentials. To run the copied curl commands, first set export TOKEN=<your sandbox token> in your shell.

2

Pull inventory

POST /eps/listings/{partnerId} returns every property shared with you, with photos, details, rules and a two-year fullCalendar of prices and availability. Pick a villa to continue. (Sandbox photos are placeholders.)

3

Live quote

POST /eps/quote/{partnerId} prices the exact stay: nightly rate, fees and taxes, in the property's currency. The netTotal is what you echo back when you book.

Pick a villa in step 2 first.

Default dates are picked at random far ahead on purpose: a paid or confirmed sandbox stay blocks its dates (409 unavailable) for everyone sharing the sandbox, so choose your own dates if you hit one.

4

Book with hosted payment

POST /v1/booking-requests with payment: {"mode": "flywire"}. Villa Tracker is merchant of record: we check availability, re-quote, hold the request and return a payment_url for your guest. Once paid, the stay is booked in the property's system and the request turns confirmed.

Uses the listing, dates, guests and netTotal from your quote in step 3.

5

Instant book, you take the payment

The same call without payment: instant-book properties confirm in one call and return a confirmationCode. You charge your guest and settle the net rate with us. The playground re-quotes first so price_quoted.total matches.

Dates default to three weeks after your step 3 stay, so they don't clash with the hosted-payment booking. Guest details come from step 4.

6

Cancel

POST /v1/booking-requests/{id}/cancel. Pending requests are cancelled locally; confirmed ones are cancelled through the property's system and the dates go back on sale.

Make an instant booking in step 5 first.

7

Error checks

See the failures your integration has to handle before you meet them in production.

401 sends no Authorization header. Wrong token sends an invalid one to /eps/listings: the /eps/* endpoints answer 200 with "success": false (always check success), /v1/* answers 403. 409 quotes your villa six weeks after your step 3 dates, then books it with a price_quoted.total 20% too low, so it is refused and nothing is created (sandbox TEST- listings only).

8

Next steps

Move the calls into your server, run them against the sandbox in your CI, then work through the go-live checklist. When it is green we issue your production token.