Skip to content
Wu and Kin

For developers

Everything the site publishes is available to a program: the homes as data, and the four forms that reach Han or Trang. There are no API keys and no accounts to create, because nothing here is private.

Read the homes

Three endpoints, no authentication, JSON only. They serve exactly the facts the pages publish, built from the same file.

  • GET /api/v1/listings Every home with rent, deposit, minimum stay, availability, inspection status and rooms.
  • GET /api/v1/listings/{slug} One home. An unknown slug is a 404 problem document, never an empty object.
  • GET /api/v1/cities Each city with at least one published home, and how many.

Ask about a home

Four form posts, sent as application/x-www-form-urlencoded. Each one is read and answered by a person. None of them books, confirms or charges anything, and none of them takes payment.

  • POST /api/inquiry A tenancy inquiry for one home.
  • POST /api/waitlist Join the list for a city with nothing live yet.
  • POST /api/employer A corporate or relocation enquiry.
  • POST /api/viewing Request a live video walk-through of one home.

Start here

The read API needs no key, so the first call is the whole setup.

# Every home, as one document
curl -s https://wuandkin.com/api/v1/listings

# One home
curl -s https://wuandkin.com/api/v1/listings/le-hong-phong-dalat-house

# Ask about a home and get JSON back instead of a redirect
curl -s -X POST https://wuandkin.com/api/inquiry \
  -H 'Accept: application/json' \
  -d 'fullName=Ana Reyes&email=ana@example.com&phone=+84 90 123 4567' \
  -d 'moveInDate=2027-01-15&stayLength=12&tenants=2'

Errors

Every failure is application/problem+json per RFC 9457: a stable code to branch on, a human sentence, and what to change before retrying. Branch on code, never on the prose.

  • not_found 404 No resource exists at that path, or no home has that slug.
  • invalid 422 A form field was missing, malformed, or not an allowed option.
  • toolarge 413 The form body was over the endpoint's limit.
  • busy 429 Too many requests from this address. Retry-After says when.
  • method_not_allowed 405 That method is not accepted on this path.
  • unavailable 503 The published data could not be read. Retry.

Rate limits

Read endpoints allow 120 requests per 10 minutes per address; each form endpoint allows 10. Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset, and a 429 adds Retry-After, so a client can throttle itself without guessing.

Versioning and deprecation

The major version is in the path, so /api/v1 is the contract. A version is announced at least 90 days before it is retired and stays available for at least 12 months after its successor ships; every response carries X-Wuandkin-API-Version. When a version is retired its responses carry Deprecation: true and Sunset with an HTTP date for at least 90 days first. Adding a field is not a breaking change; removing or retyping one ships as a new major version. Nothing is deprecated today.

Deprecation policy
  • OpenAPI document The authoritative description of every endpoint, schema and error.
  • API index The same list of endpoints, as JSON, for a client that has only the domain.
  • Every home as data The plain data file the read API is built from.
  • Deprecation policy The notice period, the Deprecation and Sunset headers, and what counts as breaking.
  • For machines What this site publishes for assistants and search engines.

Message Trang

Trang Walks every home · English and Vietnamese

Vietnam time is UTC+7.

Wu and Kin never asks for money in a chat. Deposits follow a signed lease, with a receipt.