Bring your own website or app. Use the LaundryOS API for the hard parts: a service catalogue and pricing, customer accounts, orders tracked to delivery, hosted checkout that settles straight to your bank, and webhooks. Your staff still run everything from the Business Portal.
The API is a way to consume LaundryOS, not a different product. You are a normal LaundryOS tenant on a normal plan, paying the same monthly fee and the same commission. The only difference is where your customers book: your own front end instead of our hosted storefront. API access is included on the higher plans. Talk to us to turn it on.
Your website or app, and your developer (or ours). You design the customer experience and own your brand.
Catalogue and pricing, customer accounts, the order lifecycle, payments with the split to your bank, receipts and webhooks.
No separate API fee. You pay your plan's monthly fee and commission; online payments still settle to your bank with the platform fee split automatically.
Create an API key in your Business Portal under Developers (the secret is shown once). Send it on every request. Keys are scoped and come in test and live modes.
# 1. Create-or-link a customer (idempotent on your own id) curl https://api.laundryosapp.com/api/v1/public/customers \ -H "X-API-Key: los_test_..." \ -d '{ "externalId":"user-123", "fullName":"Ada Obi", "email":"[email protected]" }' # 2. Create an order, 3. open checkout, 4. confirm POST /api/v1/public/orders POST /api/v1/public/orders/:id/checkout // returns a Paystack URL GET /api/v1/public/orders/:id/payment // paid?
X-API-Key or Authorization: Bearerlos_test_ key simulates payments, moves no money, and stays out of your reports429 + retryAfter when exceededWe version the API in the path (/api/v1) and aim to add, not break. Build tolerantly and your integration keeps working.
/api/v2): removing or renaming a field or endpoint, changing a type or units, or tightening validation. We never make breaking changes in place within a live version.Deprecation and, once a date is set, Sunset headers; after sunset the old version returns 410 Gone pointing at the replacement./api/v1/public/openapi.json always reflects the live contract, and we email the technical contact on affected tenants before a sunset. Questions: [email protected].