DOOLAE API

The DOOLAE API lets your software work with a landlord's DOOLAE account: properties, rooms, tenants, meter readings, monthly bills, PromptPay QR payments and LINE messages to tenants. Landlords decide which applications may access their account, and can disconnect them at any time.

  • Base URL: https://api.doolae.online/v1
  • Format: JSON over HTTPS, UTF-8
  • Authentication: Authorization: Bearer <API key>
  • Reference: developers.doolae.online/docs (interactive), openapi.json, openapi.yaml
  • Status: GET https://api.doolae.online/health (no key) answers 200 {"status":"ok"} while the API can serve requests, 503 otherwise — for uptime monitors

How it fits together

You (developer account)
 └── Application            asks for scopes, e.g. bills:read, meters:write
      ├── API keys          dl_test_… (sandbox) and dl_live_… (real accounts)
      ├── Webhook endpoints signed event deliveries
      └── Connected accounts landlords who approved the application
  1. Create an application in the developer portal. It gets a sandbox: a sample landlord account with properties, rooms, tenants, readings, bills and payments.
  2. Build with a test key (dl_test_…). Test keys only ever reach your sandbox. Payments and LINE messages there are simulated.
  3. Ask landlords to connect. Send them your application's connect link. They sign in to DOOLAE, see exactly what your application may do, and approve. You receive their account ID (acct_…).
  4. Go live with a live key (dl_live_…). It reaches only the accounts that connected your application.

Conventions

Topic Rule
IDs Prefixed strings: prop_, room_, ten_, rdg_, bill_, pay_, ntf_, evt_, acct_, whep_. Treat them as opaque.
Money Integer satang (1 THB = 100 satang) plus "currency": "THB". 617000 means ฿6,170.00.
Meter values Decimal numbers with at most two decimal places.
Months YYYY-MM (billing months are Thai calendar months).
Times ISO 8601 in UTC, e.g. 2026-10-07T03:15:00.000Z.
Lists Cursor pagination: see pagination.
Errors {"error": {"code", "message", "request_id", "doc_url"}}: see errors.

Guides

Versioning

This is v1. DOOLAE may add things to v1 at any time without notice:

  • new endpoints;
  • new optional parameters;
  • new fields in responses;
  • new event types;
  • new error codes.

Write your client so these don't break it. Anything that would break existing clients goes into /v2. Deprecated parts of v1 keep working for at least 12 months. They are announced in the changelog and with Deprecation and Sunset response headers.

SDKs

The OpenAPI 3.1 document is generated from the same definitions the API server runs on, so it always matches the server. Use it with OpenAPI Generator, openapi-typescript, Kiota or any OpenAPI 3.1 tool to generate a client in TypeScript, Python, PHP, Go, Java or C#.